-
View層:Activity和Layout布局視圖文件。
Model:獲取數據層。
View與ViewModel通過DataBinding進行通信。
使用MVVM需要實現以下步驟:
新建MVVMViewModel對象,繼承BaseObservable。
持有MVVMModel數據對象。
改進DataBinding,實現EditText雙向綁定ViewModel里面的userInput字段(或對象)
改進ViewModel,提供userInput字段,實現get和set方法并添加@Bindable注解和添加notifyPropertyChange(BR.userInput)方法。
查看全部 -
雙向綁定?視圖發(fā)生變化,一般是EditView,在@后面加上 = 號即可。
查看全部 -
等級對象繼承 android.databinding.BaseObservable
設置@Bindable 注解,等級發(fā)生變化的時候自動更新
設置notifyPropertyChanged(BR.level),當值發(fā)生變化是通知視圖更新。
查看全部 -
DataBinding是谷歌發(fā)布的實現數據與視圖雙向綁定框架
DataBinding使用步驟
查看全部 -
MVVM模型
其實VM 約等于 MVP中的Presenter
相對于MVP
1、減少接口數量。
2、使用數據視圖綁定DataBinding,減少findViewById操作。
查看全部 -
MVP優(yōu)缺點
優(yōu)點:
解決了MVC中Controller與View過渡耦合的缺點,職責劃分明確,更加易于維護。
缺點:
接口數量過多,項目復雜度提升。隨著項目復雜度的提升,Presenter層將越來越臃腫。
使用MVP的建議
查看全部 -
MVP示例圖
1、定義V層,Activity實現IMVPView接口。
2、定義M層,實現數據查詢。
3、定義P層,業(yè)務數據邏輯處理,作為中間層還負責與V、M層數據通信則需要持有View接口和Model對象。
使用MVP實現
查看全部 -
MVP即:Model-View-Presenter
MVP與MVC的差別
1、Model與View不再直接進行同學,而是通過中間層Presenter來實現。
2、Activity的功能被簡化,不再從當控制器,值負責View層的工作。
查看全部 -
MVC缺點
1、Controller與View未完全解耦(Activity即是Controller控制器,又要承擔部分View試圖的工作)。
2、Activity過于臃腫,還承擔的部分業(yè)務邏輯。
查看全部 -
mvp模型
查看全部 -
mvvm模型圖
查看全部 -
使用MVP的建議
查看全部 -
mvp模型
查看全部 -
查看全部
-
查看全部
舉報