ActiveAndroid:未创建日期列

时间:2015-09-06 17:46:55

标签: android sqlite date activeandroid

我正在尝试使用ActiveAndroid存储Person对象。我设定了这样的生日:person.setBirthdate(new java.sql.Date((new Date()).getTime()));。在分配我呼叫person.save();的所有数据后。

我使用此命令获取数据库中所有人员的列表:new Select().from(Person.class).execute();

如果我不关闭应用程序,一切正常(生日总是从数据库中正确返回)。但是,当我完全关闭应用程序然后重新启动它时,生日值始终为空。所有其他字段(名字,姓氏等)都是正确的。

我真的不知道为什么会发生这种情况,并希望得到一些帮助!

编辑:仔细查看我的数据库后,我发现未创建birthdate-column。我仍然不确定为什么数据在不关闭应用程序时可用。

第二次编辑:我添加了一个新列(一个字符串),保存到数据库并且运行正常。所以问题不是过时的数据库。除了日期列之外的所有列都已创建。

我还将date数据类型更改为字符串。然后保存了生日。将其更改回Date数据类型会再次导致原始问题。真的很奇怪......有谁知道发生了什么?

1 个答案:

答案 0 :(得分:3)

应该是一些缓存问题。 保存日期尝试使用type serializer。只需阅读this page即可。