livedata 2

안드로이드 개발 (32) LiveData와 MutableLiveData

LiveData는 이미 내부적으로 setValue와 postValue가 존재하지만 이를 외부로 공개하지 않고 상속을 받은 서브클래스를 통해 외부로 공개합니다. 그렇기 때문에 이미 안드로이드에서 지원하는 LiveData는 MutableLive라는 서브클래스를 만들어두고 MutableLive에서 set을 허용하도록 개발자에게 환경을 제공합니다. 그렇게 View는 LiveData 에서 읽기만 할 수있고, ViewModel 에서 MutableLiveData를 통해 변경할 수 있는 권한이 생깁니다. 불변과 가변의 차이를 가진 LiveData와 MutableLiveData에 대해 각각 정리해봤습니다. 1.MutableLiveData package androidx.lifecycle; /** * {@link LiveD..

안드로이드 개발 (28) ViewLifeCycleOwner

블로그 재작성 시작입니다. jetpack 라이브러리를 사용하다보면 뷰모델 프로바이더를 생성할 때나 라이브 데이타 observe 함수에 매개 변수로 lifeCycleOwner 를 전달해줘야하는 경우가 있습니다. 검색을 하다보면 주로 viewLifeCycleOwner 를 매개변수로 전달하는 예제가 많은데 viewLifeCycleOwner에 대해 알아보도록 하겠습니다. 0. viewLifeCycleOwner 란? Fragment 를 사용하다보면 onCreateView() 함수이 호출 될 때, view 를 생성하고 onViewCreated() 함수에서 이미 생성한 view를 사용하는 경우가 많습니다. viewLifeCycleOwner 는 onCreateView() 에서 생성되는 view의 LifeCycle 를 ..