Ошибка ввода номера в Android - PullRequest
0 голосов
/ 29 августа 2018

Итак, я боролся с комнатой в течение нескольких дней, пытаясь понять, как это сделать

Моя сущность

@Entity(
        foreignKeys = {
        @ForeignKey(
                entity = Movie.class,
                parentColumns = "id",
                childColumns = "movieId")
        },
        indices = @Index("movieId")
)
@TypeConverters(MovieConverter.class)
public class UpcomingMovies {

    @PrimaryKey(autoGenerate = true)
    public int id;

    @ColumnInfo
    public int movieId;

    @ColumnInfo
    public Movie movie;
}

Дао метод вставки

@Insert
void insertUpcomingMovies(List<Movie> movies);

У меня есть вспомогательный метод, позволяющий мне знать, есть ли у меня данные в этой таблице, но он продолжает возвращать 0

@Query("Select count(*) FROM UpcomingMovies")
LiveData<Integer> countUpcoming();

Что я делаю не так? UpcomingMovies нужен List<Movie> movies? Я рассуждаю здесь так: каждая запись в UpcomingMovies будет иметь Movie, поэтому мне нужен только один экземпляр Movie, поэтому при вставке я передаю List<Movie>. Мои рассуждения неверны?

Результат, который я ожидал, будет чем-то вроде

  • UpComingId - MovieId - Фильм (Фильм в виде строки)
  • 1; 33; {.. Имя: Парк Юрского периода, id: 33 ...}
  • 2; 77; {.. Имя: Миссия выполнима, id: 77 ....}

Кто-нибудь подскажет, пожалуйста,

...