前回の続きをコードラボで学習したので引き続きアウトプットしたいと思います。
前回の記事は、こちら→https://qiita.com/Satou_Akira/items/0c35be6a03c18043a3be
今回学習したのはLiveDataです。
LiveDataとは?
前回学習したViewModelの中に定義していくもので、ライフサイクルの変化を監視したデータを持つことができるクラスである。
今回分かったこと
[1]
ViewModelの中に定義するがクラスを定義したりするわけではなく
MutableLiveDataをViewModel内だけで読み取り専用、LiveDataを外部ファイルからの読み取り専用に分けることが大事だということが分かりました。
[2]
つまり、ViewModelが持っていたデータに関連するところはLiveDataが管理することになるのですべての情報をLiveDataに渡すことが大事になる。
そして、このデータはvalueとして扱うことになり、Listを作ってViewModel内で初期化しどんな内容を持つのかを定義することができる。
[3]
Fragmentとの関連
→実際に、LiveDataが活躍するのはFragmentなどの、UI controllerが生成されてからなので
Fragment内部にViewModelと関連付けるコードを書く必要がある(ここは、ViewModelのみの時と変わらない)
以上が学んだことです。
必要だと感じたことのみをコードしました。