如何设置字符串等资源中某些字段的默认值。因为我想为不同的语言设置值
@ColumnInfo(defaultValue = "") // R.string.someword
private String publisher;
尝试时:
@ColumnInfo(defaultValue = Resources.getSystem().getString(android.R.string.someword))
private String publisher;
获取以下错误
Attribute value must be constant
简而言之,您不能这样做,因为这些值可以在运行时更改,而Room构建SQL,在编译时创建表、索引和视图。
默认值="参数用于将该值应用于CREATE TABLE ....
sql的DEFAULT
构造。
如果你成功编译,你可以在java生成的(Android视图(文件中看到生成的SQL,该文件与@Database类的名称相同,但后缀为_Impl。