뷰 바인딩(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