[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 사이트에서 확인할 수 있습니다.