[kotlin] 코틀린 데이터 바인딩을 사용하여 데이터 모델과 뷰를 자동으로 업데이트하는 방법

안녕하세요! 이번에는 코틀린 언어에서 데이터 바인딩을 사용하여 데이터 모델를 자동으로 업데이트하는 방법에 대해 알아보겠습니다.

코틀린 데이터 바인딩이란?

코틀린 데이터 바인딩은 안드로이드 앱에서 데이터 모델과 뷰를 바인딩(bind)하는 라이브러리입니다. 이를 통해 수동으로 findViewById()를 호출하거나 findViewById를 이용한 타입 캐스팅을 할 필요가 없어지며, 데이터의 변경이 즉시 뷰에 반영됩니다.

코틀린 데이터 바인딩 설정하기

코틀린 데이터 바인딩을 사용하려면 먼저 build.gradle 파일에 다음과 같이 데이터 바인딩 설정을 추가해야 합니다.

android {
    ...
    buildFeatures {
        dataBinding true
    }
}

데이터 모델 및 XML 레이아웃에서 데이터 바인딩 사용하기

  1. 데이터 모델 클래스를 준비합니다.

    data class User(val name: String, val age: Int)
    
  2. 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">
            <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>
    
  3. 액티비티에서 데이터 바인딩을 초기화하고 데이터 모델을 설정합니다.

    val binding: YourLayoutBinding = DataBindingUtil.setContentView(this, R.layout.your_layout)
    binding.user = User("John Doe", 25)
    

결론

코틀린 데이터 바인딩을 사용하면 데이터 모델과 뷰 간의 바인딩을 편리하게 관리할 수 있습니다. 수동으로 뷰를 조작하고 데이터를 업데이트하는 시간과 노력을 절약할 수 있으며, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

코틀린 데이터 바인딩에 대한 더 자세한 정보는 Android Developers - Data Binding Guide를 참고하십시오.