繁体   English   中英

数据绑定在Android IDE中如何工作?

[英]How does data-binding work in the Android IDE?

数据绑定在Android IDE中如何工作? 什么是幕后流程?

为了弄清楚我在说什么,这个人试图解释它,但是对此做了“ eh”的工作。 我不太了解他。

https://youtu.be/scJGJgcbMGQ

什么是数据绑定?

数据绑定的原理是同步两个对象,以便它们保存相同的信息。 从UI对象更改到下划线对象,这两个方向都可以使用,反之亦然。 在我们的示例XML和android中,经常在两种不同的语言之间使用数据绑定。 数据绑定库提供了将数据和变量导入XML的所有必要方法。

数据绑定的优点是活动代码不太混乱,并且避免了Null指针,这是因为调用了未由框架创建或尚未破坏的视图。

在本示例中,您将看到如何准备活动的XML,以准备对象和辅助方法。


<data>
<!-- Import helper Method (static)-->
<import type="com.applications.startroutineactivity.helper.classes.Helper_MillisToString"/>
<!-- Prepare variable-->
<variable

name="Activity_Day"

type="com.applications.startroutineactivity.data_types_and_adapter.Obj_ActivityDay"/>

 </data>


<!-- this is an example how to use the object in xml-->
<TextView

android:id="@+id/tv_TakeTime_CurrentShownDateDateFormat"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="8dp"

android:layout_alignTop="@+id/tv_TakeTime_UserHint"

android:clickable="true"

android:enabled="true"

android:hint="12.01.2018"

android:onClick="oc_tv_TakeTime_CurrentShownDateDateFormat"

android:text="@{Helper_MillisToString.getStringOutMillis(Activity_Day.getActivity_Day())}"

android:textColor="@color/Mercedes_WHITE"

android:textColorHint="@color/Mercedes_GREY"

android:textSize="@dimen/dim_TextSize_Normal_Big"

app:layout_constraintBottom_toBottomOf="@+id/bt_TakeTime_nextDate"

app:layout_constraintStart_toEndOf="@+id/bt_TakeTime_lastDate"

app:layout_constraintTop_toTopOf="@+id/bt_TakeTime_nextDate"/>

在您的活动班级中使用此命令:

ActivityTaketimeBinding mainBinding; //This always refers to the layout file name "_" turns into upperCase

//Use this in onCreate()

mainBinding = DataBindingUtil.setContentView(this, R.layout.activity_taketime);

//Use this to set an object
mainBinding.setActivityDay();//.setXXX is referring to the name of the variable in the XML file.

要启用数据绑定,请将其添加到build.gradle文件中。

dataBinding {

enabled =true

}

buildToolsVersion '28.0.3'

同步,清除和重建。 另外,请确保已安装Sdk管理器中的所有支持程序包。

使用教程非常好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM