У меня есть два Объекта (Объект1 и Объект2), сохраненные через Android Комнату, к которой я хочу получить доступ, используя LiveData . Object1
содержит ссылку на Object2
.
public class Object1 {
...
private Object2 object2;
...
}
Я хочу передать LivaData<List<Object1>>
, содержащий все мои объекты из ViewModel, в действия, каждый из которых Object1
уже поднял, сохранил ссылку на соответствие Object2
(Object1 хранит идентификатор Object2 в базе данных).
Каков наилучший способ объединения объектов? Я нашел MediatorLiveData и MutableLiveData , но не смог найти пример, который показался мне полезным.
Правки: О ситуации в целом: Object1
- это некоторые данные, которые я загружаю из Интернета и кэширую через Android Room. Object2
- это некоторые дополнительные данные, которые пользователи могут сохранять локально, всегда относящиеся к данным из одного указания c Object1
. Таким образом, каждый Object2
относится к Object1
, но не каждый Object1
имеет Object2
. Наконец, я хочу передать объект в пользовательский интерфейс, содержащий все данные из Интернета и (если таковые имеются) все дополнительные данные, добавленные пользователями.
Проблема: я не знаю, что такое Наиболее эффективный способ сопоставления данных из двух разных источников данных таким образом, что LiveData всегда обновляется при изменении одного из них.
Спасибо за помощь во время обучения Android