Ошибка: не может выяснить, как сохранить это поле в базе данных. Вы можете
подумать о добавлении для него преобразователя типа.
Private Final java.util.list stats = null; < /p>
< /blockquote>
Я не могу понять. Я добавил TypeConverter в базу данных, но все же получаю эту ошибку. Есть идеи, что я делаю не так?
Ошибка: не может выяснить, как сохранить это поле в базе данных. Вы можете подумать о добавлении для него преобразователя типа. Private Final java.util.list stats = null; < /p> < /blockquote> Я не могу понять. Я добавил TypeConverter в базу данных, но все же получаю эту ошибку. Есть идеи, что я делаю не так?[code]@Entity data class Detail( @PrimaryKey val id: Int, val stats: List, val types: List
){ data class Stat( val baseStat: Int, val stat: String ) } [/code] typeConverter: [/b] [code]@ProvidedTypeConverter class StatConverter @Inject constructor( private val moshi: Moshi ){ @TypeConverter fun fromJson(value: String): List? { val listType = Types.newParameterizedType(List::class.java, Detail.Stat::class.java) val adapter: JsonAdapter = moshi.adapter(listType) return adapter.fromJson(value) } @TypeConverter fun toJson(type: List?): String { val listType = Types.newParameterizedType(List::class.java, Detail.Stat::class.java) val adapter: JsonAdapter = moshi.adapter(listType) return adapter.toJson(type) } } [/code] [b] база данных: [/b] [code]@Database(entities = [Detail::class], version = 1, exportSchema = true) @TypeConverters(StatConverter::class) abstract class Database : RoomDatabase() {
abstract fun detailDao(): DetailDao
companion object{ const val DATABASE = "database" }
} [/code] [b] DI Module, где предоставляется комната: [/b] [code]@Singleton @Provides fun provideAppDatabase( application: Application, statConverter: StatConverter ): Database { return Room .databaseBuilder(application, Database::class.java, Database.DATABASE ) .addTypeConverter(statConverter) .fallbackToDestructiveMigration() .build() } [/code] [b] edit: [/b] Код TypeConverter работает нормально с другим полем (список) в объекте, но не с списком.