jetpack-数据绑定库(DataBinding)

1、数据绑定库是一个支持库,允许您使用声明式格式将布局中的UI组件绑定到应用程序中的数据源。这样不仅提高应用性能,而且有助于防止内存泄漏以及避免发生空指针异常。例如:

<layout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto">
        <data>
            <variable
                name="viewmodel"
                type="com.myapp.data.ViewModel" />
        </data>
        <ConstraintLayout... /> <!-- UI layout's root element -->
    </layout>
    

注意:为了只替代findViewById,可以使用视图绑定。

视图绑定与数据绑定的区别:

视图绑定和数据绑定库均会生成可用于直接引用视图的绑定类。不过,这两者之间存在明显差异:

  • 数据绑定库仅处理使用 <layout> 代码创建的数据绑定布局。
  • 视图绑定不支持布局变量或布局表达式,因此它不能用于在 XML 中将布局与数据绑定。

总结:视图绑定更加笼统,整个module都是视图绑定,根据xml,不过可以忽略部分布局。但是没有数据绑定灵活。

2、使用参考文章

https://www.jianshu.com/p/7de37ca38d0e

自定义控件使用:https://blog.csdn.net/qq_35201868/article/details/79570560

发布了321 篇原创文章 · 获赞 57 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/zhizhuodewo6/article/details/104354813