2
Kotlin FlowとLiveData
前回のGoogle I / Oで、Jose AlcerrecaとYigit Boyar は、LiveDataを使用してデータをフェッチすることはもうやめるべきだと言っていました。ここで、ワンショットフェッチに中断関数を使用し、Kotlinのフローを使用してデータストリームを作成する必要があります。コルーチンはワンショットフェッチや挿入などの他のCRUD操作に最適であることに同意します。しかし、データストリームが必要な場合、Flowがどのような利点をもたらすかわかりません。LiveDataも同じことをしているようです。 フローの例: ViewModel val items = repository.fetchItems().asLiveData() リポジトリー fun fetchItems() = itemDao.getItems() ダオ @Query("SELECT * FROM item") fun getItems(): Flow<List<Item>> LiveDataの例: ViewModel val items = repository.fetchItems() リポジトリー fun fetchItems() = itemDao.getItems() ダオ @Query("SELECT * FROM item") fun getItems(): LiveData<List<Item>> また、コルーチンとFlowを使用してRoomまたはRetrofitを操作するプロジェクトの例もいくつか見たいと思います。コルーチンがワンショットフェッチに使用され、変更時にデータを手動で再フェッチするGoogleのToDoサンプルのみが見つかりました。