我想在我的Android数据库中存储日历条目。 在数据库中存储int和String等简单类型是没有问题的。但我无法弄清楚如何存储日历类型。
我的表格如下: reate table wishes(_id integer primary key autoincrement,“ +“名称文字不为空” +“日期文本,picurl文本,.....)
所有内容都被声明为“文字”。
在我的活动中,我有以下代码: Calendar cal = Calendar.getInstance();
cal应该存储在我的表中。有人可以暗示一下吗?
答案 0 :(得分:4)
从日历的纪元表示中保存毫秒:
long millis = calendar.getTimeInMillis();
然后将此长存储在数据库中。您可以通过从数据库中读取长值并使用日历中的setTimeInMillis(long millis)
来恢复日历。
答案 1 :(得分:3)
要拥有一个稳定的本地化独立解决方案,我建议更改数据库表以存储日期。您可以使用dateCalendar.getTimeInMillis()
获取日历日期,并在阅读时添加类似
long dateAsMillis;
dateCalendar = Calendar.getInstance();
dateCalendar.setDate(dateAsMillis);
但是如果你真的需要/想要使用字符串,请查看DateFormat.parse(String) - 你可以定义日期应该具有的格式,从而从String创建一个Date对象。
答案 2 :(得分:-1)
我会将您的Date转换为String并将该字符串存储到数据库中。 然后,当您从数据库中读取String时,只需将其解析为Date。