第 8 課:應用程式架構 (UI 層)

  1. 為了避免在裝置設定變更期間遺失資料,你應該將應用程式資料儲存於哪一個類別之中?
  2. ViewModel 不可內含任何片段、活動或檢視的參照。是否正確?
  3. ViewModel 在什麼時候遭到刪除?
  4. ViewModelFactory 介面的用途為何?
  5. 你會以何種方式封裝儲存於 ViewModel 中的 LiveData,以便外部物件不需加以更新即可讀取資料?
  6. 當 UI 控制器處於下列何種狀態時,LiveData 會更新 UI 控制器 (例如片段)?
  7. LiveData 觀測器模式中,可觀察的項目 (被觀察的對象) 是什麼?
  8. 你應該在哪一個類別中新增使用 Transformations.map() 方法的資料格式邏輯,用以將 LiveData 轉換為不同的值或格式?
  9. Transformations.map() 會提供一個簡易的方式,可在 LiveData 中執行資料操控,並傳回 ___。
  10. Transformations.map() 方法有哪些參數?
  11. 傳入 Transformations.map() 方法的 lambda 函式會在哪個執行緒中執行?