❮
[AndroidX] Data Binding - 1
20190725
[AndroidX] Data Binding - 1
데이터와 뷰를 묶어줌.
참조
코드랩
- (findByView()를 사용하는 것보다 코드 길이 짧아짐. 가독성 향상. 유지하기 쉬운 코드.)
- 데이터와 뷰가 완전히 분리된다.
- Android 시스템이 뷰를 얻기 위해서 뷰 계층을 한 번만 순회하게 된다. 이 작업은 런타임이 아니라 앱 시작 시점에 일어난다.
- 뷰들을 타입에 안전하게 얻을 수 있다.
사용
1. gradle 수정
build.gradle(Module:app) 에 들어가서
android
{
...
databinding{
enabled = true
}
...
}
로 수정하고 Sync.
2. layout xml 수정
이제 layout xml 로 가서 최상위 layout 태그에 커서를 올려놓고 alt + enter 를 누르면 아래 그림처럼 Convert to data binding layout이 나온다.
이제 xml이 layout으로 감싸졌다.
이 시점에서 Clean Project - Rebuild project 해주는게 좋다.
3. binding 변수 만들기.
이제 binding 객체를 만들어주어야 한다.
액티비티에서
onCreate() 안에
프래그먼트에서
onCreate() 안에
4. findView 대체하기
이제 xml 에서 정의했던 모든 뷰들을 바로 호출 가능하다. id_view 형태로 만들었다면 idView로 호출 가능하다.
apply를 이용해서 간단히 할 수 있다.