Android LiveData 사용하기

사용 버전: Android Studio 4.0.1

사용 언어: Kotlin 1.3.72


안드로이드 LiveData 사용하기를 해보겠습니다.



LiveData는 데이터가 변화될 때를 포착하여 UI를 변화시키게 해줍니다. 그리고 Lifecycler에 맞춰서 생성되고 사라집니다.



먼저 ViewModel을 사용합니다.



데이터 바인딩도 해줍니다.



사용할 layout입니다. 위의 fragLiveData는 Fragment에서 변경할 것이고, 아래의 layoutLiveData는 layout에서 변경할 것입니다.






LiveData는 내부를 위한 MutableLiveData와 외부를 위한 LiveData를 만듭니다.







init 블록을 사용하여 LiveData를 초기화할 수 있습니다.

LiveData는 .value를 사용하여 값에 접근합니다.








버튼을 누르면 텍스트가 변경되게 함수를 만들어 줍니다.







layout 파일로 가서 ViewModel을 사용할 것을 알려줍니다.







Fragment 파일로 와서 위에 적은 viewModel이 우리가 만든 viewModel 임을 적어줍니다.

lifecycleOwner도 정해줍니다.









Button에 viewModel에서 만든 글자 변경 함수들을 연결합니다.







그리고, observe를 사용하여 fragLiveString의 변화를 탐지합니다. 변화가 된다면, Observer 안에 있는 명령이 수행될 겁니다.




여기까지가 Fragment에서 LiveData를 이용하여 UI를 변경시키는 방법이었습니다.



이제, layout에서 LiveData를 이용하여 변경해보겠습니다.

layout 파일로 갑니다.


42 번째 줄에서 Button을 눌렀을 때, viewModel 함수가 실행되게 만들었고, 50 번째 줄에서 text의 글자를 viewModel의 LiveData에서 가져오도록 했습니다. 




여기까지가 layout에서 LiveData를 사용하여 UI를 변경하는 방법이었습니다.



실행하면, 다음과 같이 LiveData를 즉각 반영하여 변경되는 것을 확인할 수 있습니다.







끝.


카테고리: Android

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

tensorflow tf.random.uniform()

Android Notification with Full Screen

KiCad 시작하기 2 (PCB 만들기)

Android Minimum touch target size

Python bs4.SoupStrainer()

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()