ViewModel
-
LiveData beyond the ViewModelAndroid 2021. 6. 4. 10:41
LiveData beyond the ViewModel - Reactive patterns using Transformations and MediatorLiveData을 요약, 정리하였다. LiveData beyond the ViewModel — Reactive patterns using Transformations and MediatorLiveData Reactive architecture has been a hot topic in Android for years now. It’s been a constant theme at Android conferences, normally… medium.com LiveData는 Observer의 수명주기를 알고있는 simple observable이다. data so..
-
Android Kotlin Fundamentals - ViewModel(2)Android 2021. 5. 30. 09:37
Activity ViewModel을 활용한 Fragment 간 데이터 공유 Fragment가 N 개인데, Data의 공유가 필요한 경우 Fragment에서 처리한 데이터에 따라 Activity의 데이터 갱신이 필요한 경우 보통 위와 같은 이유로 sharedViewModels를 사용하는 케이스가 있다. 1. fragment-ktx를 사용하지 않을 경우 SharedViewModel, Fragment들을 아래와 같이 간단하게 구현 class SharedViewModel : ViewModel() { val message = MutableLiveData() fun sendMessage(msg:String){ message.value = msg } } class MessageReceiverFragment:Fragm..
-
Android Kotlin Fundamentals - ViewModel(1)Android 2021. 5. 29. 13:49
Android Kotlin Fundamentals: 5.1 ViewModel 을 요약, 정리하였다. (자세한 내용은 codeLab 사이트를 참고) GameViewModel 구현 build.gradle(module:app) 파일에 다음 dependencies를 추가한다. (최신 버전은 문서를 참고) dependencies { // implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' // implementation 'androidx.fragment:fragment-ktx:1.3.4' } ViewModel 클래스를 상속하는 GameViewModel을 정의한다. class GameViewModel:ViewModel() { override fun ..
-
ViewModelAndroid 2021. 5. 28. 13:27
ViewModel 클래스는 lifecycle를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었다. ViewModel 클래스를 사용하면 화면 회전과 같이 구성을 변경할 때도 데이터를 유지할 수 있다. ViewModel 생명주기 ViewModel은 Activity에서는 Activity가 끝날 때까지 그리고 Fragment에서는 Fragment가 분리될 때까지 메모리에 남아 있다. Activity의 경우 기기 화면이 회전될 때와 같이 onCreate() 메서드가 여러 번 호출될 수 있지만 ViewModel은 소멸되지 않고 계속 유지된다. ViewModel은 ScopeOwner가 Destroyed 상태가 되면 onCleared()를 호출하여 ViewModel을 Release한다. ViewModel 구현..