Leanpub Header

Skip to main content

Xamarin.Forms 快速入門

Xamarin.Forms Quick Start

這是一本帶領 Xamarin.Forms 新手開發者,可以透過書中介紹的各種知識、開發技能,配合練習專案實作,快速地學會使用Xamarin.Forms 這個UI Toolkit 來進行跨平台的行動應用裝置之應用程式開發工作。

Minimum price

$20.00

$25.00

You pay

$25.00

Author earns

$20.00
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
433
Pages
22,874Words
About

About

About the Book

這本書能提供什麼

在這本書裡面,將會提供 16 章的內容,分別是

  • 開發前的安裝、設定準備工作 (共3章)

對於Xamarin.Forms 開發新手,第一個學習卡關將會是如何安裝與設定一個可以進行Xamarin.Forms 的開發環境;在這個部分將會詳細說明如何安裝與設定Visual Studio 2019 ,使其可以順利的進行Xamarin.Forms 的開發工作。

  • 使用C# 程式語言來直接開發Xamarin.Forms App

說明如何僅使用C# 程式語言,就可以開發出Xamarin.Forms 的應用程式的開發過程。

  • 使用XAML 標記宣告語言來開發Xamarin.Forms App

說明使用XAML 宣告標記語言來進行頁面畫面的內容宣告,相關的商業邏輯則是使用程式碼後置Code Behind 的方式來開發。

  • 資料綁定Data Binding

資料綁定Data Binding是在Xamarin.Forms 開發上,最為重要的技術,對於資料綁定的類型共有三種,這裡將會針對一般資料物件類型的綁定設計方式來說明如何使用。

  • 更多資料綁定的用法

這裡將會繼續介紹更多關於資料綁定的不同使用方式。

  • 數值轉換器Value Converter

對於資料綁定的設計方法下,數值轉換器的應用扮演者相當重要的角色,透過設計不同的數值轉換器類別可以設計出許多可重複使用的商業邏輯,並且輕鬆地將不同型別的綁定目標與綁定來源屬性串接在一起。

  • 命令綁定Command Binding

命令綁定是資料綁定的第二種類型,透過命令綁定可以不再需要使用以往需要透過事件訂閱的設計方式,與在程式碼後置區塊來進行相關商業邏輯的程式碼設計工作,全部都轉移到綁定來源的類別物件上。

  • 事件轉命令行為Event to Command Behavior

Xamarin.Forms 並不是所有的檢視項目都有提供可綁定的命令屬性,但是一定會有提供事件觸發的設計方式,在這裡將會使用Xamarin.Forms 的一個核心技術行為Behaviors,將需要訂閱的事件與命令綁定在一起,這使得當事件被觸發的時候,可以執行所綁定的命令內的委派方法。

  • 手勢操作Gesture Recognizer

在Xamarin.Forms 內提供可以與使用者互動的項目不多,按鈕是其中一個,不過, Xamarin.Forms 提供了手勢辨識器功能,可以在讓何檢視項目上,宣告不同的手勢操作行為,當發生了這個手勢操作行為,將會觸發所指定的命令,例如,得知使用者點選了一個圖片UI 控制項。

  • MVVM Model-View-ViewModel 設計模式

Xamarin.Forms 可以搭配MVVM 的設計模式,讓UI 視覺設計與呈現邏輯程式碼與商業邏輯程式碼分隔開來,這樣可以有助於程式開發流程、進行單元測試,因為,這解除了視覺控制項與程式碼之間的緊密耦合關係。

  • 內建導航服務

開發行動應用程式最為重要的設計工作,那就是能夠在不同的頁面之間進行切換,在這裡會先進行Xamarin.Forms 預設提供的導航服務功能進行介紹,並且了解到更多設計上的問題,可能需要進一步的解決。

  • 導航服務之封裝設計

為了要解決Xamarin.Forms 預設的導航服務的不足,已經可以在檢視模型中進行各種頁面導航操作,在這裡將會設計一個延伸導航服務類別,解決相關問題,讓開發過程更加的順暢。

  • 相依服務Dependency Service

Xamarin.Forms 是個UI 開發工具,它把UI 設計抽象化了,並且可以讓使用Xamarin.Forms 設計的UI 畫面可以在不同平台下來顯示出來,可是,當需要某些功能一定需要透過原生SDK API 才能夠運作的需求,並且取得原生SDK API 的執行結果,這個時候就可以透過Xamarin.Forms 提供的相依服務來滿足這樣的工作。

  • 訊息中心MessagingCenter

訊息中心是一種發行-訂閱模式,其中對於發行者這個角色可以在不知道任何訂閱者的情況下傳送訊息。同樣地,訂閱者也可以在不知道任何發行者的情況下訂閱特定訊息。透過這樣的特行,可以讓Xamarin.Forms的程式順利地執行原生平台下的SDK API。

誰適合閱讀這本書

本書適合想要學會如何使用Xamarin.Forms 工具來開發出跨平台的行動應用程式的開發者,這裡將會介紹各種Xamarin.Forms 核心與應用開發技術與技巧,並且帶領大家了解到進階的開發技能,如:檢視模型定位器,延伸導航服務等。透過學習這些開發技術,將會有助於進行各種Xamarin.Forms 應用程式開發能力的提升。

不過,讀者本身應該要具備.NET / C# 的開發經驗與程式寫作技能,並且要有使用過Visual Studio 2019 開發經驗。

這本書的範例專案將會是在Windows 10 作業系統下,使用Visual Studio 2019 開發工具開發出來的,由於使用Xamarin.Forms 開發出來的專案可以在Android / iOS / UWP 平台下執行,若想要體驗開發出來的專案且在iOS 模擬器環境下執行效果,讀者需要額外準備一台Mac 電腦,並且在這台電腦上需要安裝Xcode 與Visual Studio for Mac 開發工具。

更多內容,可以參考作者 Vulcan Lee 部落格文章

C# .NET Blazor Research

Xamarin Research

Author

About the Author

Vulcan Lee

從 2012 年開始進行 .NET / C# 教育訓練課程之後,對於許多開發出來的課程,並不是隨便敷衍的設計出來,這其中我會不斷地針對已經開發出來的課程來進行修正、改版、追加內容,因此,相關的課程是不斷的在變化與強化的。

要完成這樣的一系列課程是一種自我挑戰,讓自己可以看得更高、看得更遠、讓抄襲者永遠無法模仿,因為,這些課程加入了許多巧思與技能在裡面,內行看門道、外行看熱鬧。

我所設計的教學課程,為了要能夠讓入門者、想要精通者都可以喜歡我設計的課程,將會把課程應該具有的特色,所提供的內容將會涵蓋到更多的層面、更多範例碼、更多觀念介紹、更多的動畫來理解艱澀技術應用、更多挑戰應用、更多的日常遇到問題與解決方法、更完整的開發設計指引。

因此,很期望到時候能夠與大家一起來進行這個課程的交流與互動,也希望大家可以從這些課程學到更多知識與經驗,應用在日常開發專案上。

若對於這些課程有興趣,或者有任何其他需求,可以到 Xamarin Blazor 實驗室 粉絲團來私訊給我

也歡迎來查看我寫的部落格文章 https://csharpkh.blogspot.com/

Contents

Table of Contents

前言

關於本書

  1. 這本書能提供什麼
  2. 誰適合閱讀這本書
  3. 如何使用本書
  4. 意見回饋
  5. I開發前的安裝、設定準備工作
  6. 特別注意事項

1.安裝前的準備工作

  1. 1.1確認作業系統版本
  2. 1.2確認硬體 BIOS 有啟用虛擬化功能
  3. 特別注意事項
  4. 1.2.1停用 Hyper-V
  5. 1.3啟用 UWP 開發人員模式
  6. 1.4準備一台 macOS 的電腦主機

2.Windows 電腦與 Mac 電腦上的 Visual Studio 2019 安裝與相關相關設定

  1. 2.1在 Windows 作業系統電腦上安裝 Visual Studio 2019
  2. 2.2在 Mac 作業系統電腦開發工具之安裝與設定
  3. 2.2.1安裝 Xcode 開發人員工具
  4. 2.2.2安裝 Visual Studio for Mac
  5. 2.2.3在 Mac 上啟用遠端登入

3.Visual Studio 2019 安裝後的相關設定與確認開發環境可以使用

  1. 3.1更新 Android SDK
  2. 3.2安裝與啟動 Google Android 原生模擬器
  3. 3.3測試與確認開發環境可以進行 Xamarin.Forms 專案開發
  4. 3.3.1測試可以建立 Xamarin.Forms 專案
  5. 3.3.2建置與執行 Android 專案
  6. 3.3.3建置與執行 iOS 專案
  7. 3.3.4建置與執行 UWP 專案
  8. 3.4結論
  9. IIXamarin.Forms 開發方式與基本概念
  10. 何謂 Xamarin.Forms
  11. 關於 MVVM 設計模式
  12. 關於開發練習專案

4.使用 C# 程式語言來直接開發 Xamarin.Forms App

  1. 4.1建立一個 Xamarin.Forms 方案
  2. 4.2了解 Xamarin.Forms 方案的結構
  3. Xamarin.Forms 的套件
  4. 共用商業邏輯程式碼與螢幕 UI 控制項
  5. 4.2.1了解 Xamarin.Android 專案的結構與運作方式
  6. 圖片檔案資源
  7. 4.2.2Xamarin.Android 的專案進入點
  8. 4.2.3了解 Xamarin.iOS 專案的結構與運作方式
  9. 4.2.4Xamarin.iOS 的專案進入點
  10. 4.2.5了解 Xamarin.UWP 專案的結構與運作方式
  11. 4.2.6UWP 的專案進入點
  12. 4.2.7了解 Xamarin.Forms 專案的結構與運作方式
  13. 4.3開始僅使用 C# 程式碼來設計兩數相加的遊戲
  14. 4.3.1建立一個新遊戲頁面類別
  15. 4.3.2讓新增類別繼承 ContentPage
  16. 何謂 內容頁面 ContentPage
  17. 4.3.3設計該遊戲頁面
  18. 4.3.4變更 Xamarin.Forms 應用程式的起始頁面

5.使用 XAML 標記宣告語言來開發 Xamarin.Forms App

  1. XAML 的好處
  2. 5.1建立一個 Xamarin.Forms 方案
  3. 5.2了解 XAML 檔案的運作方式
  4. 內容屬性 Content Property
  5. 請勿移除或者註解 InitializeComponent() 這個方法呼叫
  6. XAML 與編譯器
  7. 5.3了解如何在 Code Behind 程式碼來存取 XAML 文件中的項目
  8. C# 的建構函式
  9. 5.4使用 XAML 設計兩數相加的遊戲畫面
  10. 5.4.1建立一個新遊戲 XAML 頁面
  11. 5.4.2設計該遊戲頁面的 XAML 文件內容
  12. 5.4.3變更 Xamarin.Forms 應用程式的起始頁面
  13. 5.5App.xaml 的應用

6.資料綁定 Data Binding

  1. 資料綁定 Data Binding
  2. 標記之延伸語法
  3. 6.1了解資料綁定運作流程
  4. 6.2了解何謂 BindingContext 綁定內容
  5. BindingContext 的繼承
  6. 6.3資料綁定的練習 綁定目標 XAML - 綁定來源 XAML
  7. 6.3.1建立一個 Xamarin.Forms 方案
  8. 6.3.2建立一個具有靜態屬性的類別
  9. 6.3.3修改 MainPage.xaml 的 XAML 宣告語言內容
  10. 資源字典 Resource Dictionary
  11. 6.4資料綁定的練習 綁定目標 XAML - 綁定來源 C# 的物件
  12. 6.4.1建立一個 Xamarin.Forms 方案
  13. 6.4.2建立一個用於資料綁定的 C# 類別
  14. C# 前置處理器指示詞 : Region
  15. 6.4.3修改頁面的 XAML 宣告內容
  16. 6.4.4在頁面的程式碼後置區域設計商業邏輯
  17. 6.4.5執行與測試
  18. 6.5使用繼承方式提供 INotifyPropertyChanged 實作
  19. 6.5.1建立一個 Xamarin.Forms 方案
  20. 6.5.2建立一個用於資料綁定的 C# 基底類別
  21. 6.5.3建立一個用於資料綁定的 C# 類別
  22. 6.5.4執行與測試
  23. 6.6透過 PropertyChanged.Fody 套件來簡化設計
  24. 6.6.1建立一個 Xamarin.Forms 方案
  25. 6.6.2安裝 PropertyChanged.Fody 套件
  26. 特別注意
  27. 6.6.3建立一個用於資料綁定的 C# 類別
  28. 6.6.4執行與測試

7.更多資料綁定的用法

  1. 7.1資料綁定的練習 綁定目標 XAML - 綁定來源 XAML
  2. 7.2建立一個 Xamarin.Forms 方案
  3. 7.3安裝 PropertyChanged.Fody 套件
  4. 7.4建立一個用於資料綁定的 C# 類別
  5. 7.5設計該頁面 XAML 內容
  6. 7.5.1用法1: 資料綁定的模式 單向或者雙向差異
  7. 7.5.2用法2: 深層資料繫節
  8. 7.5.3用法3: 不同指定綁定屬性用法
  9. 7.5.4用法4: 資料集合的資料綁定
  10. 7.5.5用法5: 綁資料字典內的某筆資料
  11. 7.5.6用法6: 輔助支援用法

8.數值轉換器 Value Converter

  1. 8.1數值轉換器的練習
  2. 8.2建立一個 Xamarin.Forms 方案
  3. 8.3安裝 PropertyChanged.Fody 套件
  4. 8.4建立一個用於資料綁定的 C# 類別
  5. 8.5設計三個專案會用到的數值轉換器
  6. 8.6修改頁面的 XAML 宣告內容
  7. 8.7執行與測試

9.命令綁定 Command Binding

  1. 9.1建立一個 Xamarin.Forms 方案
  2. 9.2安裝 PropertyChanged.Fody 套件
  3. 9.3設計該頁面 XAML 內容
  4. 9.4建立一個用於資料綁定的 C# 類別
  5. 9.5執行與測試

10.事件轉命令行為 Event to Command Behavior

  1. 10.1建立一個 Xamarin.Forms 方案
  2. 10.2安裝 PropertyChanged.Fody 套件
  3. 10.3建立一個事件轉命定的行為類別
  4. 10.4設計該頁面 XAML 內容
  5. 10.5建立一個用於資料綁定的 C# 類別
  6. 10.6執行與測試

11.手勢操作 Gesture Recognizer

  1. 11.1建立一個 Xamarin.Forms 方案
  2. 11.2安裝 PropertyChanged.Fody 套件
  3. 11.3設計該頁面 XAML 內容
  4. 11.4建立一個用於資料綁定的 C# 類別
  5. 11.5執行與測試

12.MVVM Model-View-ViewModel 設計模式

  1. 12.1建立一個 Xamarin.Forms 方案
  2. 12.2安裝 PropertyChanged.Fody 套件
  3. 12.3安裝 Newtonsoft.Json 套件
  4. 12.4建立 需要用到的方案資料夾
  5. 12.5建立 ViewModelLocator 附加屬性
  6. 12.6建立 事件轉命令的行為 C# 類別
  7. 12.7建立一個可將 bool 值反轉的數值轉換器
  8. 12.8建立模型類別
  9. 12.9建立取得網路 JSON 文件服務類別
  10. 12.10設計該頁面 XAML 內容
  11. 12.11建立該頁面的檢視模型類別 C# 類別
  12. 12.12執行與測試

13.內建導航服務

  1. 13.1建立一個 Xamarin.Forms 方案
  2. 13.2安裝 PropertyChanged.Fody 套件
  3. 13.3建立 需要用到的方案資料夾
  4. 13.4建立 ViewModelLocator 附加屬性
  5. 13.5設計 首頁 頁面 XAML 內容
  6. 13.6修正 首頁 頁面的程式碼後置 C# 程式碼
  7. 13.7建立 首頁 頁面的檢視模型類別 C# 類別
  8. 13.8設計 下頁 頁面 XAML 內容
  9. 13.9修正 首頁 頁面的程式碼後置 C# 程式碼
  10. 13.10建立 下頁 頁面的檢視模型類別 C# 類別
  11. 13.11修正 核心專案 進入點的預設頁面
  12. 13.12執行與測試

14.導航服務之封裝設計

  1. 14.1建立一個 Xamarin.Forms 方案
  2. 14.2安裝 PropertyChanged.Fody 套件
  3. 14.3建立 需要用到的方案資料夾
  4. 14.4建立 ViewModelLocator 附加屬性
  5. 14.5建立 INavigationService 附加屬性
  6. 14.6建立 NavigationService 附加屬性
  7. 14.7建立 導航頁面
  8. 14.8設計 登入頁面 頁面 XAML 內容
  9. 14.9設計 首頁 頁面 XAML 內容
  10. 14.10設計 使用者設定資訊 頁面 XAML 內容
  11. 14.11設計 關於 頁面 XAML 內容
  12. 14.12建立 所有檢視模型 都會用到的基底類別 C# 類別
  13. 14.13建立 登入頁面 頁面的檢視模型類別 C# 類別
  14. 14.14建立 首頁 頁面的檢視模型類別 C# 類別
  15. 14.15建立 使用者設定資訊 頁面的檢視模型類別 C# 類別
  16. 14.16建立 關於 頁面的檢視模型類別 C# 類別
  17. 14.17修正 核心專案 進入點的預設頁面
  18. 14.18執行與測試

15.相依服務 Dependency Service

  1. 15.1建立一個 Xamarin.Forms 方案
  2. 15.2安裝 PropertyChanged.Fody 套件
  3. 15.3建立 需要用到的方案資料夾
  4. 15.4建立模型類別
  5. 15.5建立相依服務使用到的介面
  6. 15.6設計該頁面 XAML 內容
  7. 15.7建立檢視模型 C# 類別
  8. 15.8在 Android 專案內實作這相依服務介面
  9. 要將原生平台的相依實作服務做宣告
  10. 15.9在 iOS 專案內實作這相依服務介面
  11. 要將原生平台的相依實作服務做宣告
  12. 15.10執行與測試

16.訊息中心 MessagingCenter

  1. 16.1建立一個 Xamarin.Forms 方案
  2. 16.2安裝 PropertyChanged.Fody 套件
  3. 16.3建立訂閱事件類別
  4. 16.4設計該頁面 XAML 內容
  5. 16.5建立檢視模型 C# 類別
  6. 16.6在 Android 專案內訂閱這個事件
  7. 16.7在 iOS 專案內訂閱這個事件
  8. 16.8修正 iOS 專案內的 info.plist
  9. 16.9執行與測試

版權頁

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub