Я получил эту ошибку при попытке запустить свое приложение при использовании базы данных sqlite.
У меня есть 3 класса данных в отдельных файлах:
@Entity(tableName = "movies")
data class MovieNews(
@PrimaryKey(autoGenerate = true)
var id: Int? = null,
@SerializedName("movie_db")
@Embedded(prefix = "movies_")
val movies: List<Movies>? = null,
)
data class Movies(
val description: String? = null,
@Embedded(prefix = "actors_")
val actors: List<Actors>? = null,
)
data class Actors(
val name: String? = null
val age: Int? = null
)
Когда я запустил приложение, я получил ошибка:
ошибка: у сущностей и POJO должен быть пригодный для использования конструктор publi c. Вы можете иметь пустой конструктор или конструктор, параметры которого соответствуют полям (по имени и типу). - java .util.List
Как я могу исправить эту ошибку?
Не знаю, связано ли это с проблемой, но у меня есть это предупреждение
w: [kapt] Запрошена обработка добавочной аннотации, но поддержка отключена, поскольку следующие процессоры не являются инкрементными: androidx.room.RoomProcessor (DYNAMI C).
Я также видел кучу вопросов об этой ошибке, но ни один из них не решил мою проблему
ОБНОВЛЕНИЕ:
Если я закомментирую строку Embedded, приложение выполняет компиляцию.
Я копался в вопросах stackoverflow и обнаружил, что, вероятно, существует проблема с Embedded
и Списки.
@SerializedName("movie_db")
@Embedded(prefix = "movies_")
val movies: List<Movies>? = null,