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