[android] 안드로이드 리소스 데이터 바인딩
목차
- 개요
- 장점
- 사용 방법
- 데이터 바인딩 어레이 어댑터
1. 개요
안드로이드 데이터 바인딩은 XML 레이아웃 파일과 데이터 모델을 쉽게 연결하여 View와 데이터를 동적으로 바인딩할 수 있게 해주는 안드로이드 Jetpack 라이브러리 중 하나입니다.
2. 장점
- 코드를 간결하게 유지할 수 있습니다.
- 널리 쓰이는 데이터 바인딩 라이브러리인데다 Observable 클래스를 지원하여 데이터가 변경될 때 자동으로 UI를 갱신할 수 있습니다.
- 타입 안전성을 보장하므로 데이터의 불일치로 발생하는 오류를 사전에 방지할 수 있습니다.
3. 사용 방법
안드로이드 프로젝트에서 데이터 바인딩을 시작하려면 먼저 build.gradle
파일에 다음과 같이 데이터 바인딩을 활성화하는 코드를 추가합니다.
android {
...
buildFeatures {
dataBinding true
}
}
이후 XML 레이아웃 파일에서 다음과 같이 데이터 바인딩을 설정하고 사용할 수 있습니다.
<layout>
<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}" />
</LinearLayout>
</layout>
이렇게 하면 뷰 모델과 레이아웃 파일이 바인딩되어 데이터가 변경될 때 자동으로 UI가 갱신됩니다.
4. 데이터 바인딩 어레이 어댑터
데이터 바인딩은 뷰와 데이터를 연결하는 데에만 사용되지 않습니다. 리스트와 함께 사용할 때에는 어댑터를 단순화시켜주는 DataBindingAdapter를 사용할 수 있습니다.
자세한 내용은 안드로이드 공식 문서를 참고하세요.