Я использую Room для сохранения данных в SQLite. Но я получаю конвертер ошибок типа.
У меня есть класс данных как:
@Entity(tableName = FavoriteDatabase.teamTable)
data class TeamItem(
@SerializedName("idAPIfootball")
val idAPIfootball: Any?,
@SerializedName("idLeague")
val idLeague: String?,
@SerializedName("idSoccerXML")
val idSoccerXML: String?,
@PrimaryKey
@SerializedName("idTeam")
val idTeam: String,
@SerializedName("intFormedYear")
val intFormedYear: String?
}
Я получаю ошибку:
error: Cannot figure out how to save this field into database. You can consider adding a type converter for it.
private final java.lang.Object idAPIfootball = null;
Я пытаюсь добавить конвертер:
object Converter {
@TypeConverter
@JvmStatic
fun toString(data: Any): String = data.toString()
@TypeConverter
@JvmStatic
fun toAny(data: String): Any = data
}
и добавить в RoomDatabase:
@Database(entities = [TeamItem::class, EventItem::class], version = 1, exportSchema = false)
@TypeConverters(Converter::class)
abstract class FavoriteDatabase : RoomDatabase() {
}
и я получаю ошибку:
Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter data
at id.afdaldev.footballmatchscheduleapp.data.model.Converter.toString(Unknown Source:2)