【发布时间】:2019-11-25 18:38:48
【问题描述】:
我有一个我希望每个实体都拥有的字段列表,因此我创建了一个基本实体。
open class Syncable(
@ColumnInfo(name = "id")
var oid: String? = null,
@ColumnInfo(name = "created")
var created: Long = System.currentTimeMillis(),
@ColumnInfo(name = "updated")
var updated: Long = System.currentTimeMillis())
然后我有许多从这个继承的实体,例如:
@Entity(tableName = ProfileContract.TABLE_NAME, indices = [Index(value = ["id"], unique = true)])
data class Profile(ColumnInfo(name = "first_name")
var firstName: String,
@ColumnInfo(name = "last_name")
var lastName: String,
@ColumnInfo(name = "email")
var email: String? = null,
@PrimaryKey(autoGenerate = true) @ColumnInfo(name = "row_id")
var id: Long? = null) : Syncable()
现在,当我想构建这些实体之一时。我该怎么做?
目前我这样做:
val newProfile = Profile(
"Bob",
"Shoruncle",
"bobshoruncle@test.com)
newProfile.id = "bob1"
newProfile.created = 1233L
newProfile.updated = 1233L
有没有办法做到:
val newProfile = Profile("Bob", "Shoruncle", "bobshoruncle@test.com","bob1",1233L,1233L)
【问题讨论】:
标签: android inheritance kotlin constructor android-room