Android APP Day 14 實戰 JLPT Grammar Trainer - v0.09 MVVM 架構

 Github


參考這篇 MVVM 架構



Data Binding



新增一個 QuestionDataViewModel

public final ObservableBoolean isLoading = new ObservableBoolean(false);


當 SQL 執行前 isLoading 會設定為 true. 

等到做完後再 設定 回 false. 


在 activity_main.xml



用一個 Layout 外刮起來, 主要是要帶入 Observer 的觀念來實作,

所以 用 <data> 來定義 q_dvm 

另外要 import android.view.View, 不然 activitiy_main.xml 無法產生 Impl, 

而會有編譯錯誤. 

( 被 Observable 取代, 而後又被 Flow 取代 )


並加入 process bar


這邊就可以用 q_dvm.isLoading 來判斷是否顯示. 


也因為使用 Data Binding. 在 Activity 中的繪圖元件, 需要多用 binding 來指過去. 


這邊的 ActivityMainBinding 物件定義, 是自動根據所使用的 xml 名稱 activity_main.xml

而自動產生. 




這邊的 binding.setQDvm() 也是系統自動產生的


執行結果









留言

熱門文章