-
View层:Activity和Layout布局视图文件。
Model:获取数据层。
View与ViewModel通过DataBinding进行通信。
使用MVVM需要实现以下步骤:
新建MVVMViewModel对象,继承BaseObservable。
持有MVVMModel数据对象。
改进DataBinding,实现EditText双向绑定ViewModel里面的userInput字段(或对象)
改进ViewModel,提供userInput字段,实现get和set方法并添加@Bindable注解和添加notifyPropertyChange(BR.userInput)方法。
查看全部 -
双向绑定☞视图发生变化,一般是EditView,在@后面加上 = 号即可。
查看全部 -
等级对象继承 android.databinding.BaseObservable
设置@Bindable 注解,等级发生变化的时候自动更新
设置notifyPropertyChanged(BR.level),当值发生变化是通知视图更新。
查看全部 -
DataBinding是谷歌发布的实现数据与视图双向绑定框架
DataBinding使用步骤
查看全部 -
MVVM模型
其实VM 约等于 MVP中的Presenter
相对于MVP
1、减少接口数量。
2、使用数据视图绑定DataBinding,减少findViewById操作。
查看全部 -
MVP优缺点
优点:
解决了MVC中Controller与View过渡耦合的缺点,职责划分明确,更加易于维护。
缺点:
接口数量过多,项目复杂度提升。随着项目复杂度的提升,Presenter层将越来越臃肿。
使用MVP的建议
查看全部 -
MVP示例图
1、定义V层,Activity实现IMVPView接口。
2、定义M层,实现数据查询。
3、定义P层,业务数据逻辑处理,作为中间层还负责与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过于臃肿,还承担的部分业务逻辑。
查看全部 -
mvp模型
查看全部 -
mvvm模型图
查看全部 -
使用MVP的建议
查看全部 -
mvp模型
查看全部 -
查看全部
-
查看全部
举报