房间数据库:如何从字符串资源中设置默认值
Room database : How set default Value from strings resources
如何从字符串等资源中设置某些字段的默认值。因为我想为不同的语言设置值
@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
构造。
如果你编译成功你可以看到生成的SQL它在java生成的(Android视图)中与@Database[=同名的文件中20=] 但后缀为 _Impl.
如何从字符串等资源中设置某些字段的默认值。因为我想为不同的语言设置值
@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
构造。
如果你编译成功你可以看到生成的SQL它在java生成的(Android视图)中与@Database[=同名的文件中20=] 但后缀为 _Impl.