当我想将我的JSON记录到房间数据库中时,我遇到了一个问题。
我的数据类是:
data class CurrentWeatherEntry(
@SerializedName("temperature")//
val temperature: Int,
@SerializedName("weather_code")
val weatherCode: Int,
@SerializedName("weather_icons")
val weatherIcons: List<String>,
)
{
@PrimaryKey(autoGenerate = false)
var id : Int = CURRENT_WEATHER_ID
}
I get error: Cannot figure out how to save this field into database. You can consider adding a type
converter for it.
private final java.util.List<java.lang.String> weatherIcons = null;
How to create converter?
object Converter {
private val gson = Gson()
private val listTypeConverter = object : TypeToken<List<String>>() {}.type
@TypeConverter
@JvmStatic
fun fromListToIcon(list: List<String>): String = gson.toJson(list, listTypeConverter)
@TypeConverter
@JvmStatic
fun fromIconToList(icon: String): List<String> = gson.fromJson(icon, listTypeConverter)
}
然后在数据库顶部添加@TypeConverters(Converter::class)
:
@TypeConverters(Converter::class)
abstract class YourDB : RoomDatabase()
我要用作的数据类如下: My details对象是一个名为的自定义类的列表,其中包含: 此列表中只有一项。正如上面的数据类中提到的,我还为实体中的特定字段指定了一个TypeConzer类。其定义如下: 为了完成我的问题,下面是我的实现: 采用这种方法,我在构建应用程序时会出现以下错误: 甚至我也怀疑出了问题,因为我的IDE没有显示任何地方都可以使用的中的函数。像这样: 我知道很多人过去也在Stac
文件CrimetypeConverters.kt 错误:错误:无法确定如何将此字段保存到数据库中。可以考虑为其添加一个类型转换器。private java.util.date日期;C:\users\asus\AndroidStudioProjects\CriminalIntentV2\app\build\tmp\kapt3\stubs\debug\com\bignerdranch\android\
所以,当我试图编译它时,我得到了这个错误: 我不熟悉房间实施,所以我不知道如何解决这个问题。
当我试图在TaskClass中创建一个实体时,它说它无法将优先级类型保存到数据库中,我遇到了这个错误。Priority是我用几个常量变量创建的枚举类。 我的错误 我搞不清楚到底是什么问题。旁注:我正在看一个android开发课程,我只是跟着指导老师,但他做的同样的事情是给我一个错误,我怎么能修复这个问题? 我的优先枚举类 我的任务课 我的项目等级文件 我的模块GRADLE文件
这是第一次使用Room数据库,我想将数据保存到嵌套类中 植物种类: 这是植物类别类: 我试着用 但这些注释似乎不可用也许我缺少了一个库? 这是我的gradle文件: 我将感谢你的帮助!
我有以下型号: 然后告诉我这个错误: