Android(Kotlin)

데이터바인딩(databinding) 양방향 binding

개복치 개발자 2021. 8. 18. 02:01

개복치개발자 강의는 아래의 링크에서 보실 수 있습니다.

 

https://www.inflearn.com/course/%EC%B9%9C%EC%A0%88%ED%95%9C-jetpack-1?inst=3b988560

 

[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin) - 인프런 | 강의

코틀린으로 안드로이드 개발을 위한 젯팩(JETPACK) 개론입니다. 안드로이드 개발을 하면서 사용할 수 있는 다양한 테크닉을 연습할 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

 

 

 데이터바인딩에 대해서 알아보겠습니다.

 

 데이터바인딩을 하는 방법은 아래에 설명되어 있습니다.

 

https://philosopher-chan.tistory.com/1307

 

Android ViewBinding VS DataBinding

 안드로이드 뷰바인딩(ViewBinding)과 데이터바인딩(DataBinding)에 대해서 알아보겠습니다.  일단 뷰바인딩과 데이터바인딩을 쓰지 않으면 어떻게 될까 한번 생각을 해볼게요.  제가 간단하게 버튼

philosopher-chan.tistory.com

 

 데이터바인딩을 이용하면 view와 데이터를 다이렉트로 연결할 수 있고 양방향 바인딩을 할 수 있는데 

 

 다이렉트로 뷰와 데이터를 연결하는 예제를 보시면 데이터 모델을 만들고

 

 

 레이아웃에서 데이터 모델을 연결해서 이름(st)라고 붙여주고 button부분에서 다이렉트로 데이터를 보여줍니다.

 

 

 Activity에서 데이터를 어떻게 넣었는지 보시면 아래와 같이 데이터를 넣어서 연결할 수 있습니다.

 

 그러면 아래와 같이 데이터가 쏙쏙 잘 들어간 형태로 나옵니다.

 

 

 그럼 양방향 바인딩은 뭘까요?

 

 아래처럼 설명이 나와있습니다.

 

 

 그 전에 lifeCycle이 라는 개념이 나오는데 이 친구를 잠깐 보고 가겠습니다.

 

 

https://developer.android.com/topic/libraries/architecture/lifecycle?hl=ko

 

 생명주기를 관리해주는 친구라고 알고 있으면 될 듯 합니다. (livedata와 viewmodel과 함께 쓰입니다.)

 

 자, 기존에 있던 단방향은 아래와 같이 구현이 되어있는데

 

 

 

 양방향 데이터 바인딩을 하면 어떻게 되는지 보겠습니다.

 

 ViewModel과 Activity를 만들어주고

 

 

 

 레이아웃 파일에 다이렉트로 viewModel에 있는 값을 연결해주면 입력 부분에 있는 텍스트가 바로 UI에 표시되는 것을 볼 수 있습니다.

 

 

 끝!

 

 

 

 

 

'Android(Kotlin)' 카테고리의 다른 글

LiveData ViewModel  (0) 2021.08.18
Android ViewModel  (0) 2021.08.18
Android ViewBinding VS DataBinding  (0) 2021.08.18
Kotlin lambda  (0) 2021.08.16
Android Kotlin - let, with, run, apply, also  (0) 2021.08.16