gpt4 book ai didi

java - 用于自定义对象的 Android 房间类型转换器

转载 作者:行者123 更新时间:2023-12-04 13:55:33 26 4
gpt4 key购买 nike

将自定义对象列表与 Room 一起使用时出现错误。

error: Cannot figure out how to save this field into database. You can consider adding a type converter for it.
所以我的数据类是这样的:
@Entity(tableName = "calorie_daily_table")
data class CalorieDaily(
@PrimaryKey
var date: String,
var breakfast: List<Meal>)

data class Meal(
var foodItem: String,
var foodQuantity: String,
var calorie: Int)
我怎样才能写一个 TypeConverter 来处理这个?
所以,我有这样的事情:
class Converter {

var gson = Gson()

@TypeConverter
fun foodItemToString(foodItems: List<FoodItem>): String {
return gson.toJson(foodItems)
}

@TypeConverter
fun stringToFoodItem(data: String): List<FoodItem> {
val listType = object : TypeToken<List<FoodItem>>() {
}.type
return gson.fromJson(data, listType)
}
}
但是,仍然得到同样的错误。

最佳答案

您必须添加注释 @Embedded到您的第二个数据类 Meal

关于java - 用于自定义对象的 Android 房间类型转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63154562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com