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



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

为了确定我在说什么,这家伙试图解释它,但做了一个"嗯"的工作。我真的无法理解他。

https://youtu.be/scJGJgcbMGQ

什么是数据绑定?

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

数据绑定的优点是活动代码不那么混乱,并且还避免了 空指针,因为调用框架未创建或已销毁的视图。

在此示例中,您将了解如何准备活动的 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 管理器安装所有支持包。

使用本教程,这真的很好。

最新更新