0

我是 Android 开发的初学者,我正在尝试按照Google 的这个示例的应用架构编写一个 Notes 演示应用。

根据示例,ViewModel 应该访问定义在包中的模型,即 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 中创建新便笺,我需要创建一个新的便笺对象,其中需要 id!我的问题是,我应该只从 ViewModel 创建一个 DatabaseNote 对象,这样我就可以自动生成一个 id 吗?如果是这样,领域模型的意义何在?

提前致谢!

4

1 回答 1

0

使 id 可以为空

data class Note (
    val id: Long?,
    val title: String,
    val body: String
)

当未提供 id 时,数据库将为您创建一个

于 2020-05-28T13:04:17.233 回答