首页 > 解决方案 > 如何获取列表项并添加到房间数据库?

问题描述

这是Results数据类包含对象列表的代码片段:

@Entity(tableName = "objects_table")
data class Subscriber(

    @PrimaryKey(autoGenerate = true)
    @ColumnInfo(name = "object_id")
    var id: Int,
    @ColumnInfo(name = "object_name")
    var name: Results?,
    @ColumnInfo(name = "detected_time")
    var confidence: Results?

)

我尝试了类型转换器但类似的错误:

    @TypeConverter
fun restoreList(listOfString: String?): List<String?>? {
    return Gson().fromJson<List<String?>>(listOfString, object : TypeToken<List<String?>?>() {}.type)
}

@TypeConverter
fun saveList(listOfString: List<String?>?): String? {
    return Gson().toJson(listOfString)
}

错误是

error: Cannot figure out how to save this field into database. You can consider adding a type converter for it.

提前致谢!

标签: androidkotlinandroid-room

解决方案


所需的类型转换器是“结果”类的类型转换器,而不是您所做的字符串列表


推荐阅读