MVC:学习简单但是解耦不够彻底
MVP:解耦更加彻底,学习起来也相对比较简单,但是代码相对比较繁琐
MVVM:代码逻辑非常简洁,但是学习成本较大
MVVM模型简介MVVM是Model-View-ViewModel的简写,MVVM在MVP的基础上实现了数据视图的绑定(DataBinding),当数据变化时,视图会自动更新;反之,当视图发生变化时,数据也会自动更新。
相对于MVP:
- 减少了接口数量
- 使用了数据绑定,告别繁琐的findViewById操作,再也不需要ButterKnife。
一、DataBinding的使用
DataBinding是谷歌官方发布的一个实现数据绑定的框架(实现数据与视图的双向绑定),DataBinding可以帮助我们在安卓中更好的实现MVVM模式。
DataBinding使用步骤:
- 启用DataBinding
app module下的build.gradle文件下添加DataBinding的支持
android {
....
dataBinding {
enabled = true
}
}
- 修改布局文件为DataBinding布局
选中最外层的布局,按住Alt+Enter
将activity中的setContentView(R.layout.activity_main)替换成
ActivityMainBinding binding = DataBindingUtil.setContentView(this,R.layout.activity_is_machines);
- 数据绑定
二、 使用MVMM框架的实现需求
- 提供View,VeiwModel以及Model三层
- 将布局改为DataBinding布局
- View与ViewModel之间通过DataBinding进行通信
- 获取数据并展示在界面上
网友评论