Я использую Room в качестве локальной базы данных для моего проектаЯ создал интерфейс MovieDao
:
@Dao
public interface MovieDao {
@Query("SELECT * FROM movies ORDER BY title ASC")
LiveData<List<Movies.Movie>> getMovies();
@Query("SELECT * FROM movies WHERE id = :id")
LiveData<Movies.Movie> getMovie(int id);
}
Каждый раз, когда я пытаюсь вызвать метод getMovies()
, он корректно возвращает список Movie
объектов, но если я вызываю getMovie(int id)
и передаю идентификатор, которыйсуществует точно в базе данных, я всегда получаю NPE.
Как я могу создать запрос, который может вернуть один Movie
объект?
Спасибо!
Редактировать:
LiveData<Movies.Movie> liveData = movieRepository.retrieveFavoriteMovieTask(550);
liveData.observe(this, m -> {
Log.d(TAG, m.title);
});
Ошибка:
java.lang.NullPointerException: попытка чтения из поля 'java.lang.String com.example.myapp.Movies $ Movie.title' нассылка на нулевой объект