Son Google G / Ç'de Jose Alcerreca ve Yiğit Boyar bize veri almak için artık LiveData kullanmamamız gerektiğini söyledi . Şimdi tek seferlik getirmeler için askıya alma işlevlerini kullanmalı ve bir veri akışı oluşturmak için Kotlin'in Akışını kullanmalıyız. Ortak programların tek adımda getirme veya ekleme gibi diğer CRUD işlemleri için mükemmel olduğunu kabul ediyorum. Ancak bir veri akışına ihtiyacım olduğu durumlarda Flow'un bana sağladığı avantajları anlamıyorum. Bana öyle geliyor ki LiveData da aynı şeyi yapıyor.
Flow ile örnek:
ViewModel
val items = repository.fetchItems().asLiveData()
depo
fun fetchItems() = itemDao.getItems()
Dao
@Query("SELECT * FROM item")
fun getItems(): Flow<List<Item>>
LiveData ile örnek:
ViewModel
val items = repository.fetchItems()
depo
fun fetchItems() = itemDao.getItems()
Dao
@Query("SELECT * FROM item")
fun getItems(): LiveData<List<Item>>
Oda veya Retrofit ile çalışmak için cohoutines ve Flow kullanan projelerin bazı örneklerini de görmek istiyorum. Yalnızca bir kerelik getirme için yardımcı programların kullanıldığı Google'ın ToDo örneğini buldum ve ardından değiştirme sırasında verileri manuel olarak yeniden aldım.