Я пользуюсь базой данных комнат и живыми данными.У меня нет проблем с данными, связанными с пользовательским интерфейсом, потому что я наблюдаю за запросом базы данных по активности через модель представления.Но мне нужны некоторые данные в viewmodel (не в активности) из db, я не могу использовать их там, потому что livingata не работает без наблюдения.Если я пытаюсь получить эти данные без Livedata из базы данных, я получаю, что вы не можете получить данные из базы данных в ошибке потока пользовательского интерфейса.Как я могу решить это?
Ps: я обращаюсь к БД через репозиторий.
Мой DAO:
@Query("SELECT * from loggedUser limit 1")
LiveData<LoggedUser> getLoggedUser();
Репозиторий:
public LiveData<LoggedUser> executeGetLoggedUser() {
return userDao.getLoggedUser();
}
Viewmodel:
private MediatorLiveData<LoggedUser> loggedUser = new MediatorLiveData<>();
final LiveData<LoggedUser> tt = ribonyRepository.executeGetLoggedUser();
loggedUser.addSource(tt, new Observer<LoggedUser>() {
@Override
public void onChanged(@Nullable LoggedUser loggedUser) {
//No data is coming to here
}
});