這個範例專案將會說明如何使用 Xamarin.Android 工具幫助您開發原生 Android 類型的應用程式
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/AndroidHello
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/DoggyLab_Xamarin_Forms
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/DoggyLab_Xamarin_Forms - GCM
如何使用 Visual Studio 提供的專案樣板,產生一個 Xamarin.Forms 的專案。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/HelloBlankXamlApp
在這個首頁應用程式中,採用的是Xamarin.Forms 提供的 Master-Detail 頁面,該頁面擁有一個漢堡按鈕,當您點擊該按鈕或者由螢幕左方往右滑動,就會帶出一個導航抽屜選單;在這個選單上,您可以依照您的需求點擊任何項目,此時,螢幕就會出現該項目應該呈現的頁面。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/HomeMenu
在這個範例專案中,可以透過導航抽屜面板,切換到不同頁面,便可看到 Xamarin.Forms 預設控制項與版面配置的使用範例和實際在不同平台上執行成果。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/HomeMenuXAML
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/iOSHello
在這個範例中,將會在 StackLayout 版面配置中,放置許多 Label 控制項,並且每個Label控制項都擁有不同 LayoutOptions 列舉值,請執行看看結果,並嘗試了解是否與您理解的一致。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/LayoutOp
TabbedPage 支援可以使用 TabbedPage.ItemTemplate 來設計一個樣板頁面,而可以使用 ItemsSource 來指定要顯示的資料的來源;透過這樣的設計,每個標籤頁次所要顯示的控制項都一樣,只不過,每個標籤頁次內所顯示內容都會不一樣。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/TabPage1
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/TabPage2
這裡,使用 Font Awesome 與相關 XAML 控制項,製作出一個讓使用者登入的頁面
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XamarinLogin
說明如何透過 Xamarin 提供的元件 Xamarin.Auth ,進行社群身分驗證,在這裡,將會使用 Facebook 作為身分驗證的來源。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFAuth
當進行跨平台裝置專案開發過程中,大多會需要使用到後端資料庫存取服務,在這個範例中,將會為您說明使用 Microsoft Azure 所提供的 Azure Mobile App 服務。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFAzureMA
在這個範例專案中,將會實作出 萬年曆與QR-Code 的功能,這兩項功能也是透過插件來完成,不過,來看看要怎麼時做出這樣的功能。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFCALQR
Xamarin.Forms 允許開發者可以自行定義出每個平台專屬一些行為,而在核心PCL專案內,透過 DependencyService 這個靜態類別所提供的 Get 方法,於執行時期找到當時執行行動裝置平台對應的建置程式碼,接著執行這些功能,使得當要存取原生方法的時候,可以使用分享程式碼的方式。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFDependency
在進行 Xamarin.Forms 跨平台應用程式開發的時候,由於,開發者會將大部分的商業邏輯與視覺介面都在核心PCL內進行開發,不過,有些時候在共用的商業邏輯程式碼內或者在共用視覺介面 XAML 定義宣告中,想是根據不同的平台與系統做出不同的反映;這樣的需求,就是這個章節存在的目的。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFDevice
在進行 Xamarin.Forms 跨平台應用程式開發的時候,您需要取得特定平台硬體內的許多資訊,例如:您需要取得裝置硬體的唯一識別碼、GPS定位最新資訊、電池狀態、網路連線狀況等等。
得知裝置的電池電力、充電狀態等等 (使用 Battery Plugin )
檢查網路連線狀態、連線類型、可用頻寬等資訊 (使用 Connectivity Plugin )
取出裝置的相關資訊,如型號、作業系統等等 (使用 Device Info Plugin )
取得 GPS 當時定位資訊,必且開啟手機內建的地圖應用程式來顯示 (使用 Geolocator / External Maps Plugin )
讓裝置硬體震動 (使用 Vibrate Plugin )
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFDevInfo
在這個範例專案中,將會練習兩個在行動裝置開發過程中,相當重要的功能,那就是 檔案存取 與 行動裝置的專屬功能呼叫,在這裡將會展示如何在核心PCL專案內,呼叫個專屬平台的拍照功能,並且將拍照完成的照片回傳並顯示到行動裝置螢幕上。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFFilePhoto
在行動裝置中,手勢操作功能相當的重要,例如,使用手指點擊螢幕、兩指縮放、拖拉等等;使用Xamarin.Forms GestureRecognizer 類別,可以任您應用程式中的使用者介面控制項,具有處理點擊、雙指縮放、平移這些手勢操控的偵測與處理能力。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFGestures
說明如何開發地圖相關應用的 Xamarin.Forms 應用程式;另外,也會提到完全不使用 XAML 宣告定義的方式,而是採用 C# 程式語言直接進行 Xamarin.Forms 的程式開發方法。當您看完這一章節之後,可以判斷出,使用 XAML 與 純C# 這兩種開發方式,哪種比較方便與好用。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFMap
Xamarin.Forms 提供一個訊息通訊機制,稱作 訊息中心 ( MessagingCenter ),透過訊息中心這個機制,可以減少 Xamarin.Forms 程式開發的耦合性,也就是說,讓各個類別間不要有關聯關係。在訊息中心機制內,包含了簡單的訊息傳送與接收服務。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFMessage
在這個範例專案中,將會說明如何在核心PCL專案內,使用 SQLite 資料庫來操作資料表的 CRUD功能。您需要在原生專案與核心PCL專案中安裝這個 SQLite.Net PCL NuGet 套件,並且要在原生專案中提供 SQLiteConnection 的實作。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFSQLite
在這個範例專案中,將會實作 RESTful Web API 與 WCF 這兩種 Web 服務的呼叫方式。
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/XFWebSrv
https://github.com/vulcanlee/Xamarin.Forms.StepByStep/tree/master/