[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를 참고하세요.