У меня настроена база данных комнаты, и я хочу запросить эту базу данных N раз и объединить результаты каждого запроса в массив данных в реальном времени для отображения пользователю.
Я почти уверен, что хочу использовать MediatorLiveData
, но каждый пример в сети имеет предопределенное количество источников данных, которые он объединяет.
У меня есть следующие настройки:
petDao
@Query("SELECT * FROM pet_table WHERE name LIKE :petName")
fun getPetsByPetName(petName: String): LiveData<Pet>
petRepository
fun getPetsByPetName(petNames: List<String>): LiveData<List<Pet>> {
for (petName: String in petNames) {
val pets = petDao.getPetsByPetName(petName)
// Combine into one live list of pets
}
}