歡迎參加 Google Developers 訓練團隊製作的 Android Kotlin 基礎知識課程。本課程為一系列的程式碼研究室,包含使用 Kotlin 建構 Android 應用程式的基本概念。本課程會說明 Android Kotlin 程式設計的基本概念,以及各種應用程式的建構方式。
建議你依序完成程式碼研究室的作業,但這並非強制要求。
如要瞭解 Google Developers 訓練團隊製作的其他 Android 訓練課程,請前往 Google Developers Training:Android。
必要條件
如要參加 Android Kotlin 基礎課程,建議你具備至少 2 年的完整物件導向程式設計語言 (例如 Java、C++ 或 Smalltalk) 相關經驗。
你應該很熟悉 Udacity 的免費程式設計人員的 Kotlin 新手上路課程中所介紹的概念、工具和詞彙。
你也應該能輕鬆瀏覽 GitHub 中的資訊並熟悉下列概念:
- 基本的多執行緒和例外狀況處理。
- 概略瞭解程式碼的建構、編譯和執行方式。
最好也瞭解什麼是功能性的程式設計,但這並非強制要求。
範例程式碼和解決方案程式碼
在 Android Kotlin 基礎課程的程式碼研究室中,您會建立應用程式。您建立的應用程式的入門應用程式和解決方案程式碼位於 GitHub。
Android Kotlin 基礎知識課程包含以下課程:
- 第 1 課:建構第一個應用程式
- 第 2 課:版面配置
- 第 3 課:導覽
- 第 4 課:活動和片段的生命週期
- 第 5 課:架構元件
- 第 6 課:Room 資料庫和協同程式
- 第 7 課:RecyclerView
- 第 8 課:連上網際網路
- 第 9 課:存放區
- 第 10 課:設計適合每個人使用的應用程式
每堂課都包含多個程式碼研究室。
第 1 課:建構第一個應用程式

本課程會教你如何設定 Android Studio 以便使用 Kotlin,以及如何建構應用程式。首先,你會從「Hello World」開始,再進一步完成使用圖片檔和點擊處理常式的應用程式。您會瞭解 Android 專案的結構、如何在 Android Kotlin 應用程式中使用及修改檢視畫面,以及如何確保應用程式具備回溯相容性。此外,您也可以學到 API 級別和 Android Jetpack 程式庫的概念。
第 1 課包含下列程式碼研究室:
第 2 課:版面配置

本課程說明如何使用 Android Studio 版面配置編輯器,建立線性版面配置和限制版面配置。您可以建立應用程式來取得及顯示使用者輸入的內容、回應使用者輕觸的動作,以及變更檢視畫面的顯示設定和顏色。這堂課也會介紹如何使用資料繫結,移除對 findViewById() 發出的低效率呼叫。
第 2 堂課包含下列程式碼研究室:
第 3 課:導覽

在本課程中,您將瞭解如何在應用程式中建立實用的導覽功能。建立片段並將其加入應用程式後,您會使用 Android Studio 導覽圖將導覽新增至應用程式。您會在應用程式中加入導覽匣和選項選單,然後處理應用程式的返回堆疊,進而變更系統返回按鈕的目的地。最後,您將學到如何從應用程式內叫用外部活動。
第 3 課包含下列程式碼研究室:
第 4 課:活動和片段的生命週期

在本課程中,您將瞭解活動和片段的生命週期,以及如何管理複雜的生命週期情境。您會使用入門應用程式,其中包含數個與 Android 生命週期相關的錯誤。您會在應用程式中新增記錄功能,以便進一步瞭解應用程式的生命週期事件,並修正應用程式中的錯誤,以及為應用程式新增一些強化功能。您也會瞭解 Android Jetpack 的生命週期程式庫,這有助於您使用更井然有序且更容易維護的程式碼管理生命週期事件。
第 4 堂課包含下列程式碼研究室:
第 5 課:架構元件

本課程將說明如何使用 ViewModel 和 LiveData 物件。您會瞭解如何使用 ViewModel 物件,讓資料在設定變更時 (例如螢幕旋轉) 保持有效。您需要將應用程式的 UI 資料轉換為經過封裝的 LiveData,並在 LiveData 的值變更時,新增系統通知的觀察者方法。
你也可以將 LiveData 和 ViewModel 與資料繫結互相整合,讓版面配置中的檢視畫面直接與 ViewModel 物件通訊,而不必使用應用程式的片段轉發資訊。這項技術可簡化程式碼,因此不必在 UI 控制器中使用點擊處理常式。
第 5 堂課包含下列程式碼研究室:
- 5.1 ViewModel 和 ViewModelProvider
- 5.2:LiveData 和 LiveData 觀察器
- 5.3:使用 ViewModel 和 LiveData 執行 DataBinding
- 5.4:LiveData 轉換
第 6 課:Room 資料庫和協同程式

本課程將說明如何使用 Room 資料庫程式庫。Room 可處理設定資料庫時的許多雜務,並簡化與資料庫互動的程式碼。您會學到如何使用 Kotlin 協同程式,將資料庫作業移出主執行緒,並可進一步瞭解如何將 ViewModel 和 LiveData 與應用程式導覽功能搭配使用。
第 6 堂課包含下列程式碼研究室:
第 7 課:RecyclerView

本課程將教你如何使用 RecyclerView 有效率地顯示項目的清單和格線。針對複雜的清單和格線,你會學到如何提升 RecyclerView 的效率,並讓程式碼更易於維護及擴充。你還會瞭解如何將 RecyclerView 中的項目設為可點擊。此外,您會瞭解如何將多個檢視區塊預留位置和版面配置加入 RecyclerView 中的清單和格線,例如在應用程式中新增標頭。
第 7 課包含下列程式碼研究室:
- 7.1 RecyclerView 基礎知識
- 7.2 使用 RecyclerView 進行 DiffUtil 和資料繫結
- 7.3 使用 RecyclerView 搭配 GridLayout
- 7.4 與 RecyclerView 項目互動
- 7.5 RecyclerView 中的標頭
第 8 課:連上網際網路

本課程將說明如何使用社群開發的程式庫連線至網路服務,以擷取及顯示資料。你會瞭解如何處理潛在的網路錯誤,以及如何使用 Glide 程式庫載入及顯示網際網路上的相片。您還可以建構 RecyclerView,並將其用於顯示圖片格線。
第 8 堂課包含下列程式碼研究室:
第 9 課:存放區

這堂課會教您如何新增存放區來提取資料層,並為 Android Kotlin 應用程式中的其他部分提供簡潔的 API。此外,您也能學到如何使用 WorkManager,運用有效率且最適合的方式安排背景工作。
第 9 堂課包含下列程式碼研究室:
第 10 課:設計適合每個人使用的應用程式

這堂課將教你如何設計美觀且易於使用的 Android 應用程式,並逐步引導你建構應用程式,尋找及顯示 Google 開發人員社群 (GDG) 聚會的相關資訊。
第 10 堂課包含下列程式碼研究室:
開始下一個課程:
請先完成第一個程式碼研究室「1.0 安裝 Android Studio」,開始學習 Android Kotlin 基礎課程。