[kotlin] 코틀린과 Android Jetpack의 Data Binding을 이용하여 데이터와 레이아웃을 바인딩하는 방법은?
안드로이드 앱을 개발할 때 코틀린과 Android Jetpack의 Data Binding을 사용하면 데이터와 레이아웃을 효과적으로 바인딩할 수 있습니다. 데이터 바인딩을 사용하면 코드와 UI를 깔끔하게 분리하여 유지보수가 쉬워지고, 반복되는 코드 작성을 줄일 수 있습니다.
1. 데이터 바인딩 설정
우선, build.gradle 파일에 아래 dependency를 추가합니다.
android {
...
buildFeatures {
dataBinding true
}
}
dependencies {
...
implementation 'androidx.databinding:databinding-runtime:4.2.0'
}
2. 데이터 클래스 정의
바인딩할 데이터를 담은 데이터 클래스를 정의합니다.
data class User(val name: String, val age: Int)
3. XML 레이아웃 설정
바인딩할 데이터를 포함한 XML 레이아웃을 작성합니다.
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="user"
type="com.example.User" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.name}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf(user.age)}" />
</LinearLayout>
</layout>
4. 액티비티에서 데이터 설정
액티비티에서 데이터를 설정하고 레이아웃과 바인딩합니다.
val binding: YourLayoutBinding = DataBindingUtil.setContentView(this, R.layout.your_layout)
val user = User("John", 25)
binding.user = user
이렇게하면 데이터와 XML 레이아웃을 손쉽게 바인딩할 수 있습니다. 데이터 바인딩을 사용하면 코드 작성을 줄이고 유지보수성을 높일 수 있는 장점이 있습니다.
더 자세한 내용은 Android Developers 사이트에서 확인할 수 있습니다.