[kotlin] 데이터 바인딩 컴포넌트

안드로이드 앱을 개발하다 보면 UI를 업데이트하거나 데이터를 표시하는 등의 작업을 자주 해야 합니다. 데이터 바인딩 컴포넌트를 사용하면 XML 레이아웃 파일에서 UI 업데이트를 위한 코드를 더 간단하게 작성할 수 있습니다.

1. 데이터 바인딩 라이브러리 추가

build.gradle 파일에 아래의 의존성을 추가합니다.

android {
    ...
    buildFeatures {
        dataBinding true
    }
}

dependencies {
    ...
    implementation "androidx.databinding:databinding-runtime:4.2.0"
}

2. 데이터 바인딩 활성화

앱 수준의 build.gradle 파일에 데이터 바인딩을 활성화합니다.

android {
    ...
    buildFeatures {
        dataBinding true
    }
}

3. XML 레이아웃 파일에서 데이터 바인딩 설정

XML 레이아웃에서 데이터 바인딩을 설정하려면 루트 요소에 <layout> 태그를 추가해야 합니다. 또한 해당 레이아웃에서 사용할 변수를 정의할 수 있습니다.

예시:

<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"
        android:orientation="vertical">
        ...
    </LinearLayout>
</layout>

4. 데이터 바인딩 클래스 생성

데이터 바인딩 클래스는 XML 레이아웃 파일의 이름을 기반으로 자동으로 생성됩니다. 예를 들어 activity_main.xml 파일에 대해 ActivityMainBinding 클래스가 생성됩니다.

val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)

5. 데이터 바인딩 사용

이제 XML 레이아웃 파일에서 바인딩된 변수를 사용하여 UI 업데이트를 직접 수행할 수 있습니다.

예시:

binding.user = User("John", "Doe")

위와 같이 코드를 작성하면 해당 XML 레이아웃 파일에서 user 변수를 사용하여 이름과 성을 표시할 수 있습니다.

위와 같이 데이터 바인딩을 사용하면 UI 업데이트 코드를 간소화하고 가독성을 높일 수 있습니다.

더 자세한 내용은 Android Developers를 참고하세요.