iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
Mobile Development

Re: 從零改用 .NET MAUI 技術來繼續過去用 Xamarin 技術開發的一個 App : TopStore系列 第 20

EP 20: Add methods to IDataService and implement it in DbService - I

  • 分享至 

  • xImage
  •  

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~

在本系列文會利用目前 Visual Studio 內建的專案樣本建立一個初始的 .NET MAUI 專案,並且透過此 .NET MAUI 專案來把 TopStore App 的開發從 Xamairn.Forms 轉換到 .NET MAUI 上進行。

本篇是 Re: 從零改成用 .NET MAUI 技術來繼續過去用 Xamarin 開發的一個 App : TopStore 系列 系列文的 EP20。


在上一回在 MockData 裡面新增了 Goods 的相關操作,但其實之後的 DbService 裡面也是會有對應的相關操作,所以可以先把 IDataService 這個 interface 定義好,再透過實作介面的動作在 DbService 裡產生對應的操作方法。

所以打開 Services 底下的 IDataService.cs 檔案:
01

接著來加入以下介面的方法宣告:

    ObservableCollection<Models.Product> GetGoods(string keyword = "");  

    Models.Product GetProduct(int id);  

    int SaveProduct(Models.Product product);  

    int DeleteProduct(Models.Product product);  
    
    Models.Product NewProduct();  

完成後結果如下:
02

接著打開 Services 底下的 IDataService.cs 檔案:
03-1

會看到 Visual Studio 已經亮紅色毛毛蟲了提醒這邊有錯誤,滑鼠移過去。看到是未實作介面方法的相關提醒,就直接點選 "顯示可能的修正":
03-2

再來接著直接點選 "實作介面":
03-3

Visual Studio 會協助幫忙在 DbService 當中增加實作介面所缺的空方法如下:

    public ObservableCollection<Product> GetGoods(string keyword = "")
    {
        throw new NotImplementedException();
    }

    public Product GetProduct(int id)
    {
        throw new NotImplementedException();
    }

    public int SaveProduct(Product product)
    {
        throw new NotImplementedException();
    }

    public int DeleteProduct(Product product)
    {
        throw new NotImplementedException();
    }

    public Product NewProduct()
    {
        throw new NotImplementedException();
    }

完成後結果如下:
03-4

由於目前還沒有要使用 SQLite 處理 Goods 的資料紀錄,所以暫時有實作介面的方法宣告完成就好。

接著可以打開 PeoplePage.xaml.cs 透過 OpAppering() 執行 App.DataService 取得 People 資料時,來查看這時候 goods 應該記錄到的範例資料有沒有被建立成功:
04-1

設定中斷點,此時偵錯執行這個專案應用程式:
04-2

在 App 要跑起來出現 PeoplePage 的時候,就會中斷執行。可以在此時觀察一下 App.DataService 內部儲存的資料物件,而且看來有正確長出 goods 內部所應該記錄的資料:
04-3

本 EP 介紹所完成的範例程式碼可在此下載



上一篇
EP 19: Add Goods for MockData - I
下一篇
EP 21: Add the ViewModel for GoodsPage and check Mock Data be loaded
系列文
Re: 從零改用 .NET MAUI 技術來繼續過去用 Xamarin 技術開發的一個 App : TopStore30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言