Компонент Android Architechture LiveData Изменение данных
Я начал работать над компонентом архитектуры Android, представленным недавно.
DataLiveList.getPhotoDataList().observe(PhotosFragmentNew.this, new Observer<List<PhotoDataLive>>() {
@Override
public void onChanged(@Nullable List<PhotoDataLive> photoDataLives) {
}
});
Моя проблема в том, что я просто хочу, чтобы последний добавленный элемент не был списком всех элементов в базе данных, во-вторых, я хочу знать автоматически сгенерированный идентификатор для новой модели, каков наилучший способ получить этот идентификатор при вставке элемента.
1 ответ
Я делал это неправильно, как мой метод
DataLiveList.getPhotoDataList()
Возвращает список, то есть мой класс DAO имеет запрос select * из PhotoModel, мне просто нужно было написать другой метод в классе DAO
@Query("Select * from photomodel order by Id desc limit 1")
LiveData<photomodel> getLatestAddedItem();
и теперь, когда я меняю следующее
DataLiveList.getPhotoDataList().observe(PhotosFragmentNew.this, new Observer<List<PhotoDataLive>>() {
@Override
public void onChanged(@Nullable List<PhotoDataLive> photoDataLives) {
}
});
к
DataLiveList.getLatestAddedItem().observe(PhotosFragmentNew.this, new Observer<PhotoDataLive>() {
@Override
public void onChanged(@Nullable PhotoDataLive photoDataLives) {
}
});
Это приведет к тому, что я хотел