android -data绑定如何使用

时间:2016-01-09 23:48:08

标签: android android-databinding

我想在我的android studio项目中使用数据绑定,如果它在生产中可用。我正在网上搜索并找到我不太想要的测试版副本。但我读到here数据绑定是api 23的一部分,并内置到android studio中?如果这是真的,我该如何使用它?我无法在jcenter上找到它,它是否内置于IDE中?

我创建了一个21的最小sdk项目,我想使用数据绑定。 xml中的这段代码不会编译:

 <TextView android:text="@{user.name}"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:visibility="@user.isAdmin ? View.VISIBLE : View.GONE}"/>

确切的错误出现在可见性线上,它表示&#34;缺少/&#34;

它只适用于api 23吗?那么旧设备上的这个中断不会吗?

2 个答案:

答案 0 :(得分:2)

  

我正在网上搜索并找到我不想要的测试版副本。

此时处于候选发布状态。

  

但我在这里读到数据绑定是api 23的一部分并且内置到android studio中?

数据绑定由Android支持库和Gradle插件提供。它与API级别23无关。在某种程度上,Android Studio支持存在。

  

xml中的这段代码不会编译:

那是因为你缺少绑定表达式的开头字符。将该属性更改为:

android:visibility="@{@user.isAdmin ? View.VISIBLE : View.GONE}"
  

它只适用于api 23吗?那么在旧设备上这不会中断吗?

引用the documentation:“您可以将其与所有Android平台版本一起用于Android 2.1(API级别7 +)。”

答案 1 :(得分:0)

数据绑定库既具有灵活性又具有广泛的兼容性-它是一个支持库,因此您可以将其与运行Android 4.0(API级别14)或更高版本的设备一起使用。

不过,Android插件Gradle 1.5.0及更高版本支持数据绑定。 我建议您在项目中使用最新的Gradle插件。

要开始进行数据绑定,请参见https://developer.android.com/topic/libraries/data-binding/start.html