下面是我想要存储在SQLlite
数据库中的自定义类。我想存储然后检索整个Calendar
字段startTime
和endTime
,以便稍后我可以使用Calendar
类型的所有字段。
我知道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)
要反序列化一个对象,请使用
Gson gson = new Gson();
Model_BlockTimes item = gson.fromJson(json, Model_BlockTimes.class);
其中json是序列化的json字符串。
顺便说一下,sqlite有5 types和BLOB你可以用protobuf来节省一些空间。