Я пытаюсь реализовать TypeConverter
, но получаю эту ошибку:
Не могу понять, как сохранить это поле в базе данных. Вы можете добавить для него конвертер типов.
Это класс данных:
@Entity
data class SubEmergencyData (
@PrimaryKey
var title: String,
@ColumnInfo (name = "image")
var image: String,
@TypeConverters(StepsConverters::class)
@ColumnInfo (name = "steps")
var steps: ArrayList<Stepdata>
) {
}
А это мой TypeConverter:
class StepsConverters {
@TypeConverter
fun toStepDataList(optionValuesString: String?): ArrayList<Stepdata>? {
if (optionValuesString == null) {
return null
}
val gson = Gson()
val type = object : TypeToken<ArrayList<Stepdata?>?>() {}.type
return gson.fromJson<ArrayList<Stepdata>>(optionValuesString, type)
}
@TypeConverter
fun fromStepData(optionValues: ArrayList<Stepdata?>?): String? {
if (optionValues == null) {
return null
}
val gson = Gson()
return gson.toJson(optionValues)
}
}
Вот Stepdata
@Entity
data class Stepdata (@PrimaryKey var num : Int,
@ColumnInfo (name = "title") var title: String,
@ColumnInfo (name = "content") var content : String,
@ColumnInfo (name = "image")var image: String) {
}