Комната Android: вручную предоставлена ​​TypeConverter с @providedtypeconverter, бросает ошибку выполнения выполнения.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Комната Android: вручную предоставлена ​​TypeConverter с @providedtypeconverter, бросает ошибку выполнения выполнения.

Сообщение Anonymous »

У меня есть конвертер этого типа: < /p>

Код: Выделить всё

@ProvidedTypeConverter
class BackgroundTasksMemoryConverter(
private val gson: Gson,
) {

@TypeConverter
fun fromString(serialized: String): BackgroundTasksMemoryDb {
return gson.fromJson(serialized, BackgroundTasksMemoryDb::class.java)
}

@TypeConverter
fun toString(dataStructure: BackgroundTasksMemoryDb): String {
return gson.toJson(dataStructure)
}
}
< /code>
, который я использую как это: < /p>
myRoomDatabase = Room.databaseBuilder(
context,
MyRoomDatabase::class.java,
DatabaseConstants.DATABASE_NAME
).apply {
addTypeConverter(BackgroundTasksMemoryConverter(gson))
}.build()
< /code>
с MyroomDatabase: < /p>
@Database(
entities = [
BackgroundTasksMemoryDb::class
],
version = 1
)
@TypeConverters(
value = [
BackgroundTasksMemoryConverter::class,
]
)
internal abstract class MyRoomDatabase : RoomDatabase() {

abstract val backgroundTasksMemoryDao: BackgroundTasksMemoryDao
}
< /code>
Насколько я могу судить, это правильный подход для ручной экземпляры преобразователей. Тем не менее, я получаю эту ошибку во время выполнения: < /p>
FATAL EXCEPTION: main
Process: com.techyourchance.android.debug, PID: 30902
java.lang.IllegalArgumentException: Unexpected type converter com.techyourchance.android.database.converters.BackgroundTasksMemoryConverter@29dc933. Annotate TypeConverter class with @ProvidedTypeConverter annotation or remove this converter from the builder.
Я делаю что -то неправильно, или это ошибка?

Подробнее здесь: https://stackoverflow.com/questions/773 ... ter-throws
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»