我在我的java后端服务器中使用uuid。所以我需要在房间里使用那个uuid来确保实体正确同步。 我知道Is it possible to apply primary key on the text fields in android database和text as primarykey in android。我想创建像这样的东西
@Entity(tableName = CrewColumns.TABLE_NAME)
@TypeConverters(BigDecimalConverter::class)
@JsonIgnoreProperties(ignoreUnknown = true)
class Crew() {
constructor (uuid: String) : this() {
this.uuid = uuid;
}
/**
* The unique ID of the item.
*/
@PrimaryKey
@ColumnInfo(name = CrewColumns.UUID)
var uuid: String = ""
@ColumnInfo(name = CrewColumns.NAME)
var name: String = ""
}
Room(DAO等)会出现问题吗?谢谢。
答案 0 :(得分:18)
您应该使用android注释中的@NonNull注释该字段。为此,请将此行添加到您应用的gradle:
compile 'com.android.support:support-annotations:26.1.0'
然后在代码中它就像:
一样简单@Entity
public class User {
@PrimaryKey
@NonNull
private String email;
...
}