• 課程時長

    5 小時 39 分

  • 課程級別

    中階

  • 授課語言

    中文

這堂課你將會學到

  • 學會 MVVM 架構
  • 學會 MVP 架構
  • 雙向繫結 DataBinding 使 UI 與資料自動同步,大量減少程式碼與邏輯
  • 利用生命週期感知功能 LiveData,不再需要手動處理複雜的生命週期
  • Room 功能使用 SQLite 連接資料庫
  • ViewModel 功能解決因旋轉手機,使 Activity 重新產生而造成的資料遺失問題
  • WorkManager 整合不同 OS 版本背景服務
  • 利用 Paging Library、Navigation,可以讓開發更快速

章節目錄

  • 1

    第 1 章 架構之前的一些基礎

    • 單元 1 - 課程簡介

    • 單元 2 - Activity 生命週期的問題

    • 單元 3 - 什麼是Repository

    • 單元 4 - 觀察者模式 Observable Pattern

  • 2

    第 2 章 MVP 架構 (Model、View、Presenter)

    • 單元 1 - 什麼是 Callback 與 Listener

    • 單元 2 - MVP 架構

    • 單元 3 - 使用MVP的常見錯誤

  • 3

    Untitled chapter第 3 章 MVVM架構 (Model、View、ViewModel)

    • 單元 1 - DataBinding 資料繫結

    • 單元 2 - DataBinding 雙向繫結

    • 單元 3 - DataBinding 自定義 BindingAdapter、BindingConversion

    • 單元 4 - View Binding

    • 單元 5 - ViewModel 管理UI的相關資料

    • 單元 6 - LiveData 可觀察(Observable)的數據儲存類別

    • 單元 7 - LiveData 的資料轉換

    • 單元 8 - MVVM 架構

    • 單元 9 - Lifecycle-Aware Components

    • 單元 10 - MVC、MVP、MVVM 的差異與選擇

  • 4

    第 4 章 MVVM 的範例與練習

    • 單元 1 - 用 ViewModel 處理UI狀態

    • 單元 2 - 在 Fragment 共用 ViewModel

    • 單元 3 - ViewModel 在 RecyclerView中實現

    • 單元 4 - MVVM + Retrofit 串接WebAPI

    • 單元 5 - MVVM + RxJava 非同步處理

    • 單元 6 - MVVM 如何讓單元測試更容易

  • 5

    第 5 章 Room 快速、簡潔的資料庫操作

    • 單元 1 - 使用Android 資料庫:Room

    • 單元 2 - SQLite 建立資料表

    • 單元 3 - SQLite 基礎SQL語法:查詢、新增、修改、刪除

    • 單元 4 - SQLite 進階SQL語法

    • 單元 5 - Room 快速、簡潔的資料庫操作

    • 單元 6 - 查看手機裡的資料庫內容來Debug

    • 單元 7 - 定義Entity 的關聯

    • 單元 8 - 建立 DatabaseView

    • 單元 9 - 版本更新 Migration

    • 單元 10 - 從檔案新增 Room資料庫 Prepopulate a database

    • 單元 11 - 範例:MVVM + RxJava + Room

  • 6

    第 6 章 WorkManager 背景服務

    • 單元 1 - WorkManager 建立背景服務

    • 單元 2 - Work的管理

    • 單元 3 - Work Chaining 任務的鏈結

    • 單元 4 - AlarmManager 於指定時間執行任務

  • 7

    第 7 章 Paging Library

    • 單元 1 - Paging 分頁

    • 單元 2 - Paging 搭配 Room資料庫

  • 8

    第 8 章 Navigation 視覺化頁面導覽呈現

    • 單元 1 - Navigation 基本使用方式

    • 單元 2 - 使用Safe args 傳遞資料

    • 單元 3 - NavigationUI 更新ActionBar、Drawer、Bottom navigation

  • 9

    第 9 章 課程總結

    • 單元 1 - 課程總結