对Android MVVM的理解

本文介绍了MVVM(Model-View-ViewModel)开发模式的概念及其在Android上的应用。重点讲述了AndroidDataBindingLibrary如何实现MVVM,包括创建Model、在layout布局中引入对象、使用Activity绑定数据等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

除了MVP,MVVM也是很流行的一种开发模式。在这里总结下我对MVVM的理解。


MVVM库

android在前段时间推出了Android Data Binding Library这个库,算是官方提供了我们使用MVVM开发Android应用。

而之前比较流行的Android MVVM库则是robobinding。


MVVM概念

MVVM其实就是 Model-View-ViewModel的缩写,据说是由MVP演变而来的数据绑定库。

MVVM三部分分别是:Model – 代表你的基本业务逻辑;View – 显示内容;ViewModel – 将前面两者联系在一起的对象;


Android的MVVM

M对应Bean对象 -- 即MVP中的Model,定义对象和对象的各个属性参数。

V对应Activity -- 用来绑定layout布局文件并且为layout布局文件绑定实际数据。

VM对应Activity的布局文件layout.xml -- 在layout中使用data标签来引入各种Model或者系统变量(如String),并在正常的布局文件中使用引入的Model对象。


Android Data Binding Library实现MVVM的步骤

1. 创建一个Model,定义有些什么数据。

2. 在layout布局中,最外层套一个<layout>标签,标签内除了布局文件外添加一个<data>标签。

3. 在<data>标签内引入各种对象(说白了这些都是空的,都是坑,要Activity去填的)。

4. 在布局文件中使用<data>标签引用的对象属性(如TextView的android:text="@{User.name}",就是说引用了data中的User对象的name字段),注意在这个时候data中的东西都是坑,空的。

5. 在Activity中使用DataBindingUtil.setContentView(this, R.layout.activity_main);来生成一个Binding对象,并使用这个Binding对象绑定layout中data定义的对象,说白了就是为layout的data引用对象填坑。

这样就实现了数据绑定的功能。

具体实现请参考:全面介绍Android的MVVM框架


总结

Model对象没什么特别的,Activity是为了填数据绑定给layout用。而layout则是从Model获得对象、从Activity获得数据、并实现业务逻辑的处理,为此,Binding库为layout提供了很多运算符表达式让它可以实现很多负责的业务逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值