一、本文核心要点:
使用kotlin的data class定义Room实体数据类时,不要在构造函数中定义忽略属性。
二、个人使用定义data class的方式如下:
@Entity(tableName = "category_qw")
data class Next(
val sort: Int,
@PrimaryKey
val typeId: Int,
val typeLevel: Int,
val typeName: String,
val typePid: Int
) {
@Ignore
var selector = false
}
三、谷歌官网中使用Room实体定义数据如下(kotlin):
@Entity
data class User(
@PrimaryKey val id: Int,
val firstName: String?,
val lastName: String?,
@Ignore val picture: Bitmap?
)
这样定义实体类在实际使用过程中会有问题(如果你在项目中还会用到该属性的话,比如一个分类的列表,控制当前选择项的背景状态等),导致项目编译时找不到忽略的属性picture。