Jetpack系列之 ---- DataBinding 原理分析

1.databinding 的使用1> 在Module的build.gradle配置文件中设置开启 buildFeatures { dataBinding = true }2> 使用 private ActivityMainBinding mainBinding; mainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);3> xml 双向绑定<
摘要由CSDN通过智能技术生成

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"
        }
      ]
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值