【发布时间】:2019-05-10 12:14:15
【问题描述】:
我无法在手机上安装应用程序,因为我看到了这个错误:
错误:无法弄清楚如何将此字段保存到数据库中。你可以 考虑为它添加一个类型转换器。
这是因为我在课堂上有这个:
@Entity(tableName = "last_state")
public class LastStateTable {
@PrimaryKey(autoGenerate = false)
@ColumnInfo(name = "id")
long id;
@ColumnInfo(name = "date")
String date;
List<Icon> icon;
}
@Entity(tableName = "icon" )
public class Icon {
@PrimaryKey(autoGenerate = false)
@ColumnInfo(name = "id")
int id;
@ColumnInfo(name = "nr")
int nr;
@ColumnInfo(name = "type")
int type;
@ColumnInfo(name = "value")
int value;
}
它无法安装在设备上,因为我也应该在里面有一个列表?
我尝试这样做,但我有一些错误:
public class Converters {
@TypeConverter
public static ArrayList<Icon> fromString(String value) {
Type listType = new TypeToken<ArrayList<Icon>>() {}.getType();
return new Gson().fromJson(value, listType);
}
@TypeConverter
public static String fromArrayList(ArrayList<Icon> list) {
Gson gson = new Gson();
return gson.toJson(list);
}
}
【问题讨论】:
-
你必须使用 TypeConverter
-
@ManoharReddy 我该怎么做?
-
请为您的
List<Icon> icon添加类型转换器
标签: java android android-room