DataBinding原理

DataBinding原理_第1张图片

1、MainActivity首先使用DataBindingUtil.setContentView设置布局文件activity_main.xml。
2、随后,经过一系列函数调用,ActivityMainBindingImpl对象最终会实例化,并与activity_main.xml进行绑定。
3、实例化后的ActivityMainBindingImpl对象将其引用返回给MainActivity,以供后者使用。
4、MainActivity调用ActivityMainBindingImpl中的方法(eg:setEntityData),将数据模型和实例对象关联起来。
5、ActivityMainBindingImpl内部,注册监听器(register),监听实例对象(EntityData)的变化。
6、注册监听完成后,会触发通知(notify), 从而更新View界面。
7、如果实例对象的某个属性发生变化,可以调用notifyPropertyChange方法,最后通知(notify)View界面的更新。

说明:ActivityMainBindingImpl文件是编译器根据activity_main.xml布局文件在项目编译时生成的,该文件在build\source\kapt文件夹下面。

你可能感兴趣的:(android,jetpack,webpack)