透過集合功能整理內容
你可以依據偏好儲存及分類內容。
check_circle
歡迎來到單元 4
ondemand_video
影片
選用
歡迎來到單元 4!本單元會說明在建構邏輯更多且畫面更多的應用程式時,應納入考量的重要主題。單元包括:應用程式架構、在應用程式不同畫面之間導覽,以及自動調整版面配置。
check_circle
活動生命週期的各個階段
emoji_objects
程式碼研究室
在本程式碼研究室中,您將瞭解活動生命週期和記錄功能。
check_circle
應用程式架構簡介
ondemand_video
影片
選用
瞭解如何使用 Android 應用程式開發的設計模式、技術和最佳做法來建構 Android 應用程式。
check_circle
架構:UI 層
ondemand_video
影片
選用
在這部影片中,您將瞭解 UI 層,以及如何使用單向資料流來處理 UI 狀態。
check_circle
Compose 中的 ViewModel 和狀態
emoji_objects
程式碼研究室
在本程式碼研究室中,您將瞭解如何使用架構元件之一的 ViewModel。在設定變更期間,您將實作 ViewModel 以保留應用程式狀態。
check_circle
撰寫單元測試以測試 ViewModel
emoji_objects
程式碼研究室
瞭解如何測試 ViewModel,以便確認應用程式的正確性、功能行為和可用性。
check_circle
練習:在 Dessert Clicker 中新增 ViewModel
emoji_objects
程式碼研究室
練習在應用程式中新增 ViewModel,並從 Activity 提取邏輯。
check_circle
下一步
ondemand_video
影片
選用
恭喜您完成單元 4 的課程 1!在開發應用程式的進程中,您取得了很不錯的進展。在這堂課程中,您建構了 Dessert Clicker 和 Unscramble 應用程式,並在過程中瞭解應用程式生命週期、處理設定變更和應用程式架構。
測驗
測試您所學到的知識,並獲得「架構元件」徽章。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],[]]