一、什么是 Jetpack
Jetpack 是一个丰富的组件库,它的组件库按类别分为 4 类,分别是架构(Architecture)、界面(UI)、行为(behavior)和基础(foundation)。每个组件都可以单独使用,也可以配合在一起使用。每个组件都给用户提供了一个标准,能够帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者能够集中精力编写重要的业务代码。
二、Jetpack的优势
第一次接触到jetpack的时候还并没有了解jetpack的概念
第一次接触是20年开始实习的时候(公司原andorid开发工程师离职)公司只剩下我一个andorid开发的实习生,在实习工作的过程中,从原工程师遗留下来的代码中发现了DataBinding这个实现UI自动绑定的神器,并从此开始,慢慢学习。从开始使用DataBinding到了解jetpack是什么、再到了解MVVM,简单的实现数据的双向绑定后,后期又取消了数据双向绑定的实现。只使用了DataBinding的UI绑定功能——并发现了ViewBinding。
后续再慢慢学习并使用ViewModel、liveData、Lifecycles、Room
三、DataBinding的使用
数据绑定库与 Android Gradle 插件捆绑在一起。您无需声明对此库的依赖项,但必须启用它。
如需启用数据绑定,请在模块的 build.gradle
文件中将 dataBinding
构建选项设置为 true
,如下所示:
官网的方式:
android {
...
buildFeatures {
dataBinding true
}
}
上面是官网上的使用方式,编辑的时候才发现,代码中我并不是这样使用的,而是直接在andorid中写
第二种方式:
android {
...
dataBinding {
enabled = true
}
}
⑴在activity中的使用 1.先创建一个空的Activity,已经空的xml
如下图所示,需要使用DataBinding绑定的布局需要在xml中使用<layoue>将布局包裹起来
2.在activity中使用
第一种方式:直接使用DataBindUtil.setContentView
第二种方式:使用默认的setContentView
3.在RecyclerView.adapter中使用
4.在自定义view中使用
DataBinding的使用除了UI绑定,还有数据双向绑定(暂时没有使用,使用后xml数据还有一些报错很奇怪)
后面都是只使用ViewBinding(使用方式跟DataBinging差不多)