본문 바로가기

databinding

databinding의 Two-way Binding 안드로이드의 Two-way Binding을 살펴볼것이다. 우선 Two-way Binding 이 무엇인가? 개념적으로 보면 여태까지 적용시킨 데이터 바인딩은 코틀린 파일에있는 변수들을 직접 xml에 가져다 붙여서 변수의 내용을 xml에 표시하는것이였다. 그렇다면xml 파일에서 즉 사용자가 view에서(ex. edittext) 같은거에서 작성하는것을 변수로 받아오는것을 databinding으로 할수 없는것인가? 이 부분이 Two-way Binding이다. 즉 사용자가 xml에 입력한데이터 들을 변수와 연결시켜놓으면 그 변수에 저절로 들어가게 만드는것이다. 물론 실시간으로 하려면 livedata를 곁들인 그런형태가 되어야 하지만 어쩃든 그렇다. 그래서 이것의 쓰임새를 생각해보면 MVVM에서 뷰와 뷰모델을 느슨.. 더보기
data binding 과 live data 동시 적용해보자 이제 전에 포스팅한 두개 DataBinding과 LiveData를 동시에 사용해 볼것이다. (다음번엔 ViewModel도.....) LiveData와 DataBinding을 동시에 같이 사용한다면 LiveData의 값이 변경될때 View의 Data가 자동으로 바뀌어 UI가 저절로 바뀌기 때문에 우리는 Data의 관리만 신경쓰면되기에 아주 편해진다. 자 우선 기존의 방법과 같이 Databinding 과 Livedata를 사용했던대로 적용해보자 databinding부터 해보면 1. App 수준의 build.gradle 수정 android { ... dataBinding { enabled = true } } 이제 이건 슉슉하자 implementation 'androidx.appcompat:appcompat:1.. 더보기
Kotlin Android Extensions,Viewbinding,databinding 기존에 안드로이드를 처음 배웠을때 공부했었던 프로젝트들을 복습하려고 열어본결과 이렇게 Kotlin Android Extensions이 deprecated 되었다며 대체 할거로 viewbinding이나 databinding을 이용하라고 한다. 그래서 Kotlin Android Extensions은 왜 팽당했는가, Viewbinding,databinding 은 무엇이며 어떻게 사용해야 하는가를 알아 보려한다. 우선 이것들이 뭣 때문에 하는지 알아보자 xml 파일의 뷰들을 java파일에서 이벤트 처리를 위해 사용하려면 메모리에 올라와있어야 하는데 그래서 액티비티의 onCreate() 에서 setContentView()를 통해 인플레이션을 한다. 인플레이션이란 xml 레이아웃 파일 안에 들어있는 뷰 태그들을 이.. 더보기