Во-первых, я, возможно, не совсем понимаю, что такое изменяемые живые данные.
Я получаю данные из комнаты, используя живые данные, а затем показываю их в пользовательском интерфейсе, это вопрос с ответами, поэтому в концевопроса я хотел бы обновить базу данных правильными ответами, затраченным временем и т. д. и т. д.
Я не могу понять, как использовать изменяемые данные в реальном времени, поскольку на них нет никакой полезной информации или ям невероятно глупо!
Итак, во-первых, могу ли я на самом деле обновить базу данных изменяемыми живыми данными?
, если да, то как?(мне не нравится спрашивать об этом, но я действительно в тупике)
Дао
@Query("SELECT * FROM question_table WHERE :id = uoe_id")
LiveData<Question> getQuestionLiveData(int id);
Репо
public LiveData<Question> getQuestionLiveData(int id) {
return questionDao.getQuestionLiveData(id);
}
ViewModel
public LiveData<Question> getQuestionLiveData(int id) {
return questionRepository.getQuestionLiveData(id);
}
И затем наблюдаем это в представлении
viewModel.getQuestionLiveData(packageId).observe(getViewLifecycleOwner(), new Observer<com.questionTest.practice.Model.Question>() {
@Override
public void onChanged(com.questionTest.practice.Model.QuestionQuestion question) {
Do stuff here////
}
}
});
Следующая часть, где я не уверен.я добавил это в модель представления
MutableLiveData mutableLiveData = new MutableLiveData();
, а затем попытался присвоить это вопросу
mutableLiveData = (MutableLivedata) getQuestionLiveData(id);
, чтобы я мог использовать обновление значений, но это приводит к ошибке Casting.
Я либо что-то упустил, либо я не могу этого сделать, поэтому любая помощь будет приветствоваться, спасибо