源码分析Android-Data BindingDataBinding

MVVM架构篇之databinding源码解析

2016-12-17  本文已影响1899人  何时夕

databinding是google去年发布的一个库,它支持在xml中写表达式使得viewModel中的数据能够绑定到view中,目前已经支持双向绑定,也就是说数据的改变能够反馈到界面上,界面的数据也能够主动传到viewModel中。虽然我已经用这个库已经有4个月了,但是它的内在机制我一直没有去探寻,所以本片博客就是来深究databinding的运行机制。

1.了解 DataBindingUtil和DataBinderMapper##

这是一个工具类主要就是帮助我们获取和生成View所对应的ViewDataBinding类。其中的方法分为以下几个种类

2.了解ViewDataBinding

首先大家都知道每个使用了databiding的xml文件经过编译之后都会自动生成一个继承于ViewDataBinding的文件,这个类是该xml文件view的管理类。我们可以通过操作这个文件来对xml文件生成的view进行操作。我也介绍几个该类中主要的方法:

3.databinding的初始化绑定和数据动态更新机制解析

我们前面了解了databinding的几个重要类的方法,那么现在我们就能通过源码分析很容易的了解到其初始化和数据动态更新的机制了。

以上就是这篇博客的全部内,databinding也用了几个月了,也写用它为基础基于MVVM写了两个商业项目+一个比赛的app,对MVVM架构下的app开发,还是颇有心得的,所以过一阵子我会给大家分享一篇MVVM+databinding+RxJava2+Retrofit2的项目架构博客。在此之前的会写一些项目架构中库的解析,让大家知其然更知其所以然,今天的这篇博客就是开篇。希望大家能多多关注!

上一篇 下一篇

猜你喜欢

热点阅读