개발일지

[Android] ViewBinding 본문

Android

[Android] ViewBinding

강강강 2021. 6. 29. 19:01

https://developer.android.com/topic/libraries/data-binding

  • ViewBinding 
    : 레이아웃 xml 파일에 정의되어 있는 뷰를 자동으로 생성된 클래스를 통해 자바/ 코틀린 코드에서 참조할 수 있게 해준다.
  1. ViewBinding 활성화 해주기 
    android { ... // 안드로이드 뷰 바인딩 기능을 활성화 합니다. buildFeatures { viewBinding true } }
  2. ViewBinding 동작 원리 
    → ViewBinding이 활성화되면 해당 모듈 내 포함된 xml 파일에 상응하는 바인딩 클래스가 생성되며 이 클래스에는 루트 뷰와 더불어 ID 가 부여된 모든 뷰에 대한 참조가 포함된다. 

 

  1. databinding 이란?
  2. databinding 을 사용하는 이유 
    • findViewId() 를 호출하지 않아도, 자동으로 xml 에 있는 VIew 들을 만들어준다.
    • RecyclerView 에 각각의 item 을 set 해주는 작업도 자동으로 진행된다.
    • data 가 바뀌면 자동으로 View 를 변경하게 할 수 있다.
    • xml 리소스만 보고도 View 에 어떤 데이터가 들어가는지 파악이 가능하다.
    • 코드 가독성이 좋아지고, 상대적으로 코드량이 줄어든다.
      → 또한 데이터바인딩은 MVP 또는 MVVM 패턴을 구현하기 위해 유용하게 사용된다. 
      그러나 클래스 파일이 많이 생기고 빌드 속도가 느려지는 단점이 있다. 그래서 데이터바인딩은 단독으로만 사용하는 것보다 MVVM 또는 MVP 아키텍처과 함께 사용해야 빛을 발한다는 것이 업계의 오피셜인거 같음 

'Android' 카테고리의 다른 글

[Android] Scoped Storage  (0) 2021.06.29
[Android][Kotlin] SharedPreferences  (0) 2021.06.29
[Android][Kotlin] SwipeRefreshLayout  (0) 2021.06.29
[Android] AOS11 이후 앱 권한설정  (0) 2021.06.29
[Android] read/write  (0) 2021.06.29