LiveData - Ki-Kobayashi/Android-Wiki GitHub Wiki
StateFlow (状態保持に特化したSharedFlow) |
LiveData | |
---|---|---|
初期値 | ・初期値必須(非Null) ・初期値が必ず通知される |
・初期値不要(Null許容) ・Observeのタイミングでは何も通知されない ・Javaベース |
メイン・ワーカースレッド代入 | xxx.value = 〇〇 ※一律な書き方 |
・ワーカースレッド xxx.postValue(〇〇) ・メインスレッド xxx.value = 〇〇 |
FragmentでのCollect | ・lifecycleScope.launch(スレッド指定){} or ・launchIn を使用できるためスレッド制御が柔軟 |
できない・・・ |
通知生存期間 | CoroutineScopeが生きている間なら、バックグラウンドにAPPがいても通知される | 下記2つを満たしていないと、通知されない ・ライフサイクルがSTATED + ・フォアグランド |
.
- LiveDataは、ViewModelで定義する
// 【LiveData使用の場合】監視したい値の定義(変更はこのクラスでのみ行うようにする)
private val _newsHeadLines = MutableLiveData<ApiResource<NewsResponse>>()
val newsHeadLines: LiveData<ApiResource<NewsResponse>> get() = _newsHeadLines
.
.
.
.
.
.
.
.