Xamarin.Forms - 在行動裝置上儲存資料

還記得前兩天討論的《使用者驗證與授權》中所提到的 Token Based Authentication 嗎?當使用者輸入帳號和密碼傳送到《後端》的 Web API 時,當 Web API 驗證確定為合法使用者之後,會發行一串 Token(本範例是使用 JSON Web Token),往後《前端》有任何需要授權才可以操作的請求時,都需要帶著這一串 Token 過來。

一般來講,行動裝置應用程式不會在每次啟動應用程式(或開機)之後,都要求使用者輸入帳號和密碼,並執行登入的動作,一般都會將前登入成功後所取得的 Token 再拿出來用,除非 Token 過期才會要求使用者再登入一次重新取得最新發行的 Token 。

因此,有必要先學習如何將一些與設定有關資訊儲存在行動裝置中,以為往後學習使用行動裝置應用程式,執行登入與授權的準備。

...繼續閱讀 »

Prism MVVM:屬性改變通知 - INotifyPropertyChanged

連續一個多月都在學習由《前端》到《後端》有整體關聯的各項實作,在切換到另一項主題:《使用者驗證與授權》之前,或許切出幾個獨立小專案的基本功系列,也算是複習先前所學的。

問題:為什麼在 ViewModel 裡的屬性宣告是這樣:

private string _title;
public string Title
{
    get { return _title; }
    set { SetProperty(ref _title, value); }
}

而不是像 Entity Model 的宣告:

public string Title {get; set;}

呢?

...繼續閱讀 »

Xamarin.Forms - 在頁面間傳遞資料透過 WebView 顯示

昨天學習了實際透過 HttpClient 由行動裝置讀取發行在 Azure Web App 的 ASP.NET Core Web API 所實作的 REST API 回傳儲存於 Azure SQL Database 資料示在 ListView 上,今天就再進一步學習如下圖所示,當按下 ListView 的項目(Item)時可將該項目所含的資料帶到下一頁,並在下一頁使用該資料的地址資訊顯示出 Google 地圖:

...繼續閱讀 »

從 Xamarin.Forms 存取 RESTful API

昨天我們學會了使用 ListView 元件在頁面導覽切換到新頁面之後,讀取資料顯示在頁面上,當時為了方面解說(想控制在 30 分鐘內講完) ,讀取資料的方法是直接寫死在程式碼當中,這不符合在真實的商業應用程式的使用情境(多人使用的系統,資料是有可能隨時變動的,有必要隨時從伺服器端讀取資料)。

因此,今天就來學習如何讀取先前發行到 Azure App Service 的那一支 ASP.NET Core Web API 程式。

...繼續閱讀 »

Prism MVVM 初探

本次中年大叔的鹹魚翻身作戰計畫執行至止也有一個多月了,在昨天也已經初步地完成了《後端》(也稱為伺服器端)的實作,接下來要學習的是《前端》(也稱為用戶端)的實作。在最初的幾天會先學習與 Xamarim.Forms 以及 Prism MVVM 有關的基本知識,接著會學習使用 HttpClient 由 Xamarin.Forms 應用程式(不再透過 Postman)存取 Web API 的 CRUD 動作。

...繼續閱讀 »

自己的 iOS 自己編

上個星期五,我們發現可以在雲端租台 Mac 作為 Visual Studio Community 2017 的代理,間接在 Windows 作業系中編譯 iOS 行動應用程式。這樣就可以在早期學習 Xamarin.Forms 時,不用先急著投資買一台 Mac 也能編譯 iOS 行動應用程式,並在模擬器中偵錯執行。但是我們在申請 MacinCloud 的 Pay-As-You-Go 方案時,發現有一條每個月 5 美元的連線費要付,這筆費用是否可以省下來呢?

...繼續閱讀 »

另類連線到 Mac 的方法

先前幾天嘗試使用 Prism Tempate Pack 的 Xamarin.Forms 專案範本建立了可同時執行於 Android、iOS、通用 Windows 平台的專案,也試著在 Android 和 Windows 模擬器上執行,但是如果不能在 iOS(iPhone 和 iPad)模擬器上執行的話,似乎有點缺憾。所以,今天就來試試在 iOS 模擬器上執行。

...繼續閱讀 »