뷰 바인딩(View Binding)
2024. 7. 9. 14:32ㆍ[Android] Kotlin 활용 앱 개발
# 개념
- 뷰와 상호작용하는 코드를 쉽게 작성 가능
- 모듈에서 사용 설정된 뷰 바인딩은 모듈에 있는 각 xml 레이아웃 파일의 결합 클래스를 생성
- 바인딩 클래스의 인스턴스에는 상응하는 레이아웃에 id가 있는 모든 뷰의 직접 참조가 포함됨
- 대부분의 경우에 뷰 바인딩이 findViewById를 대체
# findViewById와의 차이점
1) Null Safety(Null 안전성)
- 앱이 레이아웃의 각 뷰를 직접 참조할 수 있게 해주는 안전한 코드를 자동으로 생성
- 뷰를 사용할 때 null값으로 인식하는 오류, 즉 뷰가 아직 화면에 나타나지 않았는데 그 뷰를 사용하려고 할 때 생기는 문제를 예방
2) Type Safety(타입 안전성)
- xml 레이아웃 파일에서 정의된 뷰의 타입와 자동 생성된 바인딩 클래스의 필드 타입이 항상 일치, 타입이 맞지 않아 발생할 수 있는 오류를 방지
# 뷰바인딩 설정 방법
1) gradle 설정
android{
...
// AndroidStudio 3.6 ~ 4.0
viewBinding{
enabled = true
}
// AndroidStudio 4.0 ~
buildFeatures{
viewBinding = true
}
}
2) Activity에서 설정
# 주의사항
- 뷰 바인딩 기능 사용 시 안드로이드 스튜디오는 레이아웃 파일의 이름을 기반으로 한 바인딩 클래스를 자동으로 생성함.
(activity_main.xml => ActivityMainBinding / fragment_home.xml => FragmentHomeBinding)
'[Android] Kotlin 활용 앱 개발' 카테고리의 다른 글
Android - RecyclerView (4) | 2024.07.16 |
---|---|
[챌린지반] MVVM (0) | 2024.07.16 |
Android - 액티비티 생명 주기 (0) | 2024.06.20 |
Android - 인텐트(Intent) (0) | 2024.06.20 |
Android - 액티비티(Activity) (0) | 2024.06.20 |