下面是我想要存储在SQLlite数据库中的一个自定义类。我想要存储然后检索整个Calendar字段startTime和endTime,以便我可以稍后使用Calendar类型的所有字段。如何使用Android中的SQLLite数据库中的日历字段保存自定义对象?
我知道SQLLite仅存储String和Int。有没有办法用SQLLite存储自定义类?
我知道Gson库可以帮助,但是我的代码是正确的吗?
public class Model_BlockTimes {
Calendar startTime;
Calendar endTime;
public Model_BlockTimes() {
}
public Model_BlockTimes(Calendar startTime, Calendar endTime) {
this.startTime = startTime;
this.endTime = endTime;
}
public Calendar getStartTime() {
return startTime;
}
public void setStartTime(Calendar startTime) {
this.startTime = startTime;
}
public Calendar getEndTime() {
return endTime;
}
public void setEndTime(Calendar endTime) {
this.endTime = endTime;
}
}
我的测试代码转换为和从Gson,不工作。
**我可以存储来自功能convertToJson(...)响应存储和从sqllite检索这样?:
public String convertToJson(Model_BlockTimes times) {
Gson gson = new Gson();
String resp = gson.toJson(times);
return resp;
}
如何从回JSON转换为Model_BlockTimes回来?
+0
将字符串格式的日期和存储在数据库中 –
+0
我知道,但有没有办法将自定义对象的字段也作为自定义对象存储在sqllite数据库?我正在尝试将它用于很多类,否则会针对不同类的每个成员字段向字符串转换器写入字符串。 –
+0
它处理持久性时,它的类型的野兽的性质。如果要节省大量信息,最好从更多的规范化角度来处理它,并查看可以在运行时生成哪些信息,而不是单独保存所有信息。 此外,解析到json然后转换回对象是复杂对象的有效方法,但是您无法避免在SQLite中为对象编写“如何保存”。 –