База данных комнат : Как установить значение по умолчанию из ресурсов строк

#java #android #android-room

#Ява #Android #android-комната

Вопрос:

Как я могу установить значение по умолчанию для некоторых полей из ресурсов, таких как строки . потому что я хочу задать значение для разных языков

 @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  

Ответ №1:

Короче говоря, вы не можете, так как такие значения могут изменяться во время выполнения, в то время как Room создает SQL, который создает таблицы, индексы и представления во время компиляции.

Параметр по умолчанию = «» используется для применения значения к DEFAULT конструкции CREATE TABLE .... sql.

Если вы успешно скомпилируете, вы сможете увидеть сгенерированный SQL в сгенерированном java (представление Android) файле с тем же именем, что и у класса @Database, но с суффиксом _Impl.