Я новичок в разработке Android, и я пытаюсь написать демонстрационное приложение Notes, следуя архитектуре приложения этого примера от Google .
Согласно примеру, ViewModel должен иметь доступ к модели, определенной в пакете domain , т.е. ViewModel не должен знать, на что похожа модель, из API или базы данных. (По крайней мере, это то, что я понял из учебника)
Итак, в моем приложении Note у меня есть класс данных в пакете домена и пакете базы данных. (которые по сути одинаковы)
data class Note (
val id: Long,
val title: String,
val body: String
)
@Entity(tableName = "notes_table")
data class DatabaseNote constructor(
@PrimaryKey(autoGenerate = true)
var id: Long = 0L,
var title: String = "TITLE",
var body: String = "BODY"
)
Чтобы создать новую заметку в ViewModel, мне нужно создать новый объект Note, где требуется идентификатор! Мой вопрос: должен ли я просто создать объект DatabaseNote из ViewModel, чтобы я мог автоматически сгенерировать идентификатор? В таком случае в чем смысл модели предметной области?
Заранее спасибо!