簡體   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