【JetPack】数据绑定 DataBinding 简介 ( 使用要求 | Gradle 版本 | 定义数据类 | 定义数据绑定布局 | Activity 数据绑定 | 绑定类生成规则 )(一)

简介: 【JetPack】数据绑定 DataBinding 简介 ( 使用要求 | Gradle 版本 | 定义数据类 | 定义数据绑定布局 | Activity 数据绑定 | 绑定类生成规则 )(一)

I . 数据绑定 简介


1 . 数据绑定作用 : 不使用 Java 代码 , 直接在 layout 布局文件 中完成组件的 文本 , 图片 等数据 的设置 ;



2 . 数据绑定 与 视图绑定 : 视图绑定仅仅是替代了 Java 代码中的 findViewById ( ) 操作 , 比视图绑定更进一步 , 在替代上述操作的基础上 , 还为其设置了具体的值 ; 数据绑定比视图绑定功能更强大 ;




II . 数据绑定 使用前提 ( 环境支持 )


1 . 数据绑定 ( DataBinding ) 使用前提 :



① 数据绑定最小兼容版本 : Android 4.0 , API 版本 14 ;


② Gradle 插件版本 : 1.5.0 以上的版本 ;



2 . Gradle 插件版本 与 Gradle 版本 对应关系 : 推荐使用当前最新配置 ( 2020/04/15 ) , 最新 Gradle 插件版本是 3.6.1 , 最新 Gradle 版本是 5.6.4 ;



① Gradle 插件版本 : 在 Project 下的 build.gradle 中配置 , 如下配置的是 3.6.1 版本的 Gradle 插件 ;

image.png


② Gradle 版本 : 在 Project 下的 gradle/wrapper/gradle-wrapper.properties 文件中配置 , 如下配置的是 5.6.4 版本的 Gradle ;


image.png



3 . Gradle 插件版本 与 Gradle 版本对应 关系 : 如果对应错了 , Android 应用无法编译 ;


Gradle 插件版本 Gradle 版本

1.0.0 - 1.1.3 2.2.1 - 2.3

1.2.0 - 1.3.1 2.2.1 - 2.9

1.5.0 2.2.1 - 2.13

2.0.0 - 2.1.2 2.10 - 2.13

2.1.3 - 2.2.3 2.14.1+

2.3.0+ 3.3+

3.0.0+ 4.1+

3.1.0+ 4.4+

3.2.0 - 3.2.1 4.6+

3.3.0 - 3.3.2 4.10.1+

3.4.0 - 3.4.1 5.1.1+

3.5.0+ 5.4.1-5.6.4



III . 数据绑定 使用流程 一 : 启用数据绑定


启用数据绑定 : 在 Module 的 build.gradle 构建脚本中 的 android 中配置如下代码 :


/** 启用数据绑定 */
dataBinding {
    enabled = true
}


IV . 数据绑定 使用流程 二 : 定义数据类


定义数据类 :


package kim.hsl.db
/** 视图绑定数据类 */
data class Student (var name:String, var age:Int)



V . 数据绑定 使用流程 三 : 定义数据绑定布局


1 . 定义根标签及命名空间 : 定义 <layout> 根标签 , 并且将布局文件的命名空间定义在该标签中 ;


<?xml version="1.0" encoding="utf-8"?>
<!-- 根标签是 layout, 将根布局的命名空间都拷贝到根标签中 -->
<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
</layout>



2 . 定义对象数据标签 : 使用 <data> 标签 , 在标签中定义 <variable> 字标签 , 在 <variable> 标签中使用 name 属性定义变量名 , type 属性定义类的 包名.类名 全路径类型名称 ;


如下 : 定义 kim.hsl.db.Student 类的对象 student , 之后就使用 student 变量名来调用类中的字段 , 如 student.name 获取对象的 name 属性 ;


<?xml version="1.0" encoding="utf-8"?>
<!-- 根标签是 layout, 将根布局的命名空间都拷贝到根标签中 -->
<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <!-- data 标签中设置要绑定的对象名称 和 对应的类名 -->
    <data>
        <variable name="student" type="kim.hsl.db.Student"/>
    </data>
</layout>


目录
相关文章
|
11月前
|
人工智能 移动开发 Java
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
1975 0
Android Studio插件版本与Gradle 版本对应关系
|
11月前
|
Java 开发工具 Android开发
Cocos Creator 2.4.6 Android Gradle 版本升级为 6.5.1(插件4.1.0)
Cocos Creator 2.4.6 Android Gradle 版本升级为 6.5.1(插件4.1.0)
288 1
|
Java Android开发 Windows
用Jetpack Compose Desktop做一个推箱子小游戏,演示键盘事件绑定的方式
做Windows桌面游戏是少不了与键盘交互的,不过其实并非我们做Windows桌面应用才需要小游戏,如果要做安卓机顶盒APP,也是要监听键盘的,只不过那是遥控器的键盘,方式其实也是一样的。
246 0
用Jetpack Compose Desktop做一个推箱子小游戏,演示键盘事件绑定的方式
|
JavaScript Java Maven
|
Android开发
Android Studio中修改gradle插件版本和Gradle版本
Android项目中,我们一般要设置gradle插件版本和gradle版本。 项目根目录下的build.gradle文件中,通过classpath可以指定gradle插件的版本。
|
2月前
|
XML 缓存 Java
gradle简介与windows安装操作
gradle简介与windows安装操作
72 2
|
26天前
|
IDE API 开发工具
与Android Gradle Plugin对应的Gradle版本和Android Studio版本
与Android Gradle Plugin对应的Gradle版本和Android Studio版本
148 0
|
4月前
|
前端开发 Android开发
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
|
11月前
|
Cloud Native Java Go
解决 Spring Boot 和 Gradle Java 版本兼容性问题:A problem occurred configuring root project ‘demo1‘. > Could n
解决 Spring Boot 和 Gradle Java 版本兼容性问题:A problem occurred configuring root project ‘demo1‘. > Could n
781 0
|
4月前
|
缓存 Java API
build.gradle文件介绍,gradle版本对应
build.gradle文件介绍,gradle版本对应
107 0