계발자 블로그

[JetPack] DataBinding 본문

Android

[JetPack] DataBinding

더구더구 2022. 8. 16. 20:46

 

 

데이터 결합 라이브러리  |  Android 개발자  |  Android Developers

데이터 결합 라이브러리 Android Jetpack의 구성요소. 데이터 결합 라이브러리는 프로그래매틱 방식이 아니라 선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원

developer.android.com

 

DataBinding이란?

구글에 따르면 프로그래매틱 방식이 아니고 선언적 형식으로 레이아웃의 ui 구성 요소를

앱의 데이터 소스와 결합 할 수 있는 지원 라이브러리라고 합니다.

간단히 코틀린 코드와 xml의 ui 컨포넌트를 연결하는 라이브러리라고 생각하면 될 것 같습니다. 

ViewBinding과의 차이점은 DataBinding은 이름 처럼 데이터와 같이 결합 해서 사용할 수 있다는 점입니다.

 

DataBinding의 세자기 특징

  • Remove findViewById
  • Custom Binding Adapter
  • Two-way Data Binding

 

간단한 사용법

 

app단의 gradle에 데이터바인딩 추가해줍니다.

 

activity_main.xml

데이터 바인딩 사용 시 레이아웃 최상단을 layout으로 감싸줘야합니다.

 

메인액티비티

이렇게 하면 viewbinding과 똑같습니다.

 

Person이라는 데이터 클래스를 만들었습니다.

 

메인 액티비티 레이아웃에 위와 같이 추가했습니다.

 

보시면 삼항연산자가 있는데 데이터바인딩을 사용하여 레이아웃에서도 로직을 수행할 수 있게됩니다.

그리고 Person 데이터를 레이아웃에서 넣어주었고

버튼을 보면 myClick이라고 메인 액티비티에 작성한 메소드를 실행하게 했습니다.

 

메인 액티비티 코드입니다.

 

처음 실행 화면과 버튼을 눌러서 변경 된 화면입니다.

 

'Android' 카테고리의 다른 글

[JetPack] Navigation (JAVA)  (0) 2022.12.04
[JetPack] WorkManager  (2) 2022.10.01
[JetPack] ViewBinding  (0) 2022.07.27
[Android] Bottom Navigation View  (0) 2022.07.19
[Android] Fragment 사용하기  (0) 2022.07.18