본문 바로가기

liveData2

LiveData와 Kotlin의 Flow LiveData와 Flow가 뭔지 정리해보고 어떻게 사용하는 지에 대해 알아본다. 추가로, 두 가지가 유사하면서도 다른 점들이 있기에 주요한 차이점과 적절한 사용법도 알아보자. LiveData & Flow LiveData는 안드로이드 앱 개발에서 일반적인 작업인 데이터 전송의 한 방법이다. Kotlin Flow도 데이터를 전송하는 것이며 비동기로 전송할 수 있는 기능이 있다. 두 가지 방법 모두 기존의 전통적인 문제를 극복하기 위해 설계되었으며, 장점과 더불어 한계점도 있다. LiveData 관찰 가능한 데이터 홀더 클래스, 다른 안드로이드 컴포넌트들(activity, fragment, service)에 의해 관찰될 수 있는 데이터들의 집합이라고 생각하면 된다. 관찰 가능한 다른 일반 클래스들과 다른 점.. 2021. 11. 14.
Android LiveData setValue vs postValue LiveData(MutableLiveData)에서 setValue()와 postValue()를 사용하는 경우를 종종 헷갈려하는 사람들이 있어서 간단하게 정리해두려 한다. LiveData는 일반적으로 DataBinding, ViewModel과 함께 사용한다. 값을 변경하는 두 방법의 차이점과 자신이 개발하고 있는 구조를 제대로 파악하지 못하면 필요할 때 UI 변경이 제대로 발생하지 않을 수 있다. 복잡하거나 어렵지는 않으니 간단하게 확인해두면 된다. setValue() 값을 바로 설정한다. 활성화된 observer가 있는 경우 해당 값이 observer로 dispatch된다. 사용에 있어 주의해야 할 점이 있는데 setValue는 반드시 Main Thread(UI Thread)에서 호출해야 한다. back.. 2021. 10. 21.