【发布时间】:2012-01-21 14:32:26
【问题描述】:
我的应用程序读取 Internet 上的 XML 文件,记下时间并创建/写入 SQLite 数据库。下次需要数据时,如果时间大于 24 小时,则更新数据库(再次下载 xml)。
问题是,每当我在 AVD 中重新启动应用程序时,它都必须重新下载,所以我注意到数据库中的所有数据都被再次写入(重复)。所以我有 20 个(10+10 个重复项)而不是 10 个项目。如果我再次重新启动,我会再复制 10 个项目。
我考虑过如何防止数据库重复(或删除旧条目),因此我决定每次下载内容时都增加数据库版本。我认为这会触发 onUpgrade() 方法,因此数据将被清除但没有任何变化。
现在我一无所知。我该怎么办?
【问题讨论】:
-
在将下载的数据提供给数据库之前,
DELETE FROM MyTable怎么样?我无法弄清楚实际问题是什么。为数据库方案升级(如果添加新表或列)进行版本更改。 -
这正是我想要做的(并且已经做过)所以谢谢
标签: android sqlite duplicates