Jetpack系列目录:
1、 Lifecycle原理分析
2、 LiveData原理分析
3、 DataBinding原理分析
4、 Navigation原理分析
1.databinding 的使用
1> 在Module的build.gradle配置文件中设置开启
buildFeatures {
dataBinding = true
}
2> 使用setContentView
ActivityMainBinding mainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
3> xml 双向绑定
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="user"
type="com.lespayne.jetpackdemo.UserBean" />
</data>
......
</layout>
如果使用完成上述步骤,将会在build的时候生成一些重要文件包括:
(1)build/intermediates/data_binding_base_class_log_artifact 里面存放的是一些生成的属性
//databinding sMapper集合生成属性
"mappings": {
//xml文件名
"activity_main": {
//xml生成databinding
"qualified_name": "com.lespayne.jetpackdemo.databinding.ActivityMainBinding",
//包名
"module_package": "com.lespayne.jetpackdemo",
//xml中引用的双向绑定实体bean
"variables": {
"user": "com.lespayne.jetpackdemo.UserBean"
},
"implementations": [
{
//生成的tag
"tag": "layout/activity_main",
"merge": false,
//生成的databinding的实现类
"qualified_name": "com.lespayne.jetpackdemo.databinding.ActivityMainBindingImpl"
}
]
}