了解如何使您的开发环境随时可以使用数据绑定库,包括支持Android Studio中的数据绑定代码。
数据绑定库提供了灵活性和广泛的兼容性 - 它是一个支持库,因此您可以将其用于运行Android 4.0(API级别14)或更高版本的设备。
建议在项目中使用最新的Gradle Android插件。 但是,版本1.5.0及更高版本支持数据绑定。 有关更多信息,请参阅如何更新Gradle的Android插件。
一、建立环境
要开始使用数据绑定,请从Android SDK管理器中的Support Repository下载库。 有关更多信息,请参阅更新IDE和SDK工具。
要将应用程序配置为使用数据绑定,请将dataBinding元素添加到app模块中的build.gradle文件中,如以下示例所示:
android {
...
dataBinding {
enabled = true
}
}
注意:您必须为依赖于使用数据绑定的库的应用程序模块配置数据绑定,即使应用程序模块不直接使用数据绑定也是如此。
二、Android Studio支持数据绑定
Android Studio支持许多用于数据绑定代码的编辑功能。 例如,它支持数据绑定表达式的以下功能:
- 语法突出显示
- 标记表达式语言语法错误
- XML代码完成
- 参考,包括导航(例如导航到声明)和快速文档
警告:数组和泛型类型(如Observable类)可能会错误地显示错误。
布局编辑器中的“预览”窗格显示数据绑定表达式的默认值(如果提供)。 例如,“预览”窗格在以下示例中声明的TextView小部件上显示my_default值:
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName, default=my_default}"/>
如果只需要在项目的设计阶段显示默认值,则可以使用工具属性而不是默认表达式值,如“工具属性参考”中所述。
三、用于绑定类的新数据绑定编译器
Android Gradle插件版本3.1.0-alpha06包含一个生成绑定类的新数据绑定编译器。 新编译器会逐步创建绑定类,这在大多数情况下会加快构建过程。 要了解有关绑定类的更多信息,请参阅生成的绑定类。
以前版本的数据绑定编译器在编译托管代码的同一步骤中生成绑定类。 如果托管代码无法编译,则可能会收到多个错误报告未找到绑定类。 新的数据绑定编译器通过在托管编译器构建应用程序之前生成绑定类来防止这些错误。
要启用新数据绑定编译器,请将以下选项添加到gradle.properties文件中:
android.databinding.enableV2=true
您还可以通过添加以下参数在gradle命令中启用新编译器:
-Pandroid.databinding.enableV2=true
注意:Android插件3.1版中的新数据绑定编译器不向后兼容。 您需要生成所有绑定类,并启用此功能以利用增量编译。 但是,Android插件版本3.2中的新编译器与先前版本生成的绑定类兼容。 默认情况下启用版本3.2中的新编译器。
启用新数据绑定编译器时,以下行为更改适用:
- 在编译托管代码之前,Android Gradle插件会为您的布局生成绑定类。
- 如果布局包含在多个目标资源配置中,则数据绑定库使用android.view.View作为共享相同资源ID但不包含视图类型的所有视图的默认视图类型。
- 编译库模块的绑定类并将其打包到相应的Android Archive(AAR)文件中。 依赖于这些库模块的应用程序模块不再需要重新生成绑定类。 有关AAR文件的更多信息,请参阅创建Android库。
- 模块的绑定适配器不能再更改模块依赖项的适配器的行为。 绑定适配器仅影响其自身模块中的代码和模块的使用者。
网友评论