MediatorLiveData로 LiveData 병합하기

2021. 10. 27. 16:08Kotlin/Android

MediatorLiveData는 LiveData의 하위 클래스로서, 

이를 사용하여 여러 개의 LiveData 소스를 병합할 수 있다.

마찬가지로, 이는 관찰자에게 원천 LiveData가 변경될 때마다 호출된다.

 

주로 DB나 NW의 업데이트를 관찰하기 위해 사용한다.

다음과 같이, addSource(T)를 통해 원천 LiveData를 추가한다.

val liveData1: LiveData<Int> = ...
val liveData2: LiveData<Int> = ...
val merger = MediatorLiveData<Int>()

// MediatorLiveData<T>.addSource(LiveData, Observer)
merger.addSource(liveData1) { value ->
    merger.setValue(value)
}
merger.addSource(liveData2) { value ->
    merger.setValue(value)
}

 

참고 :
https://developer.android.com/reference/kotlin/androidx/lifecycle/MediatorLiveData
반응형

'Kotlin > Android' 카테고리의 다른 글

OkHttp 와 Retrofit 차이  (0) 2021.11.06
Android Studio에서 SHA-1키 얻는 방법  (0) 2021.10.31
LiveData 변환하기  (0) 2021.10.27
LiveData 생성하기  (0) 2021.10.26
LiveData 란?  (0) 2021.10.26