繁体   English   中英

Android,下载数据和SQLite

[英]Android, Downloading Data and SQLite

我正在制作一个必须下载一些数据,解析并将其存储在SQLite数据库中的应用程序。 但是我有一个问题,每次启动应用程序时都会执行一次downloadtask(一个asynctask),并且不断将重复数据追加到数据库中,因此我得到了同一数据的多个实例。

我只想在数据库中包含值的情况下执行下载任务,但是如果服务器上的数据文件已更新,我仍然希望能够运行下载任务。

除了检查表中的行数是否大于0之外,我将如何执行此操作? 我不太确定要搜索什么。 任何帮助,将不胜感激!

每个覆盖面应具有唯一的ID。
加载数据时,请检查唯一ID是否在数据库中
如果存在,请更新该行。
如果不存在,请将其添加(追加)。
如果您在网站上控制数据库,则可以在数据库更新时放置一个标记,以进行更新。 因此,在读取数据之前,请检查您的标志。 如果更新,则加载新数据并将新数据附加到数据库。

对于应用程序的本地部分:如果此数据库上的查询返回多行,那么您可以根据需要轻松地更新数据。 使用游标并在执行查询后获取其计数非常容易。 如果您不希望重复,只需在确保下载任务已从远程源检索到数据后删除数据库即可。 这样,您就不会有重复项,并且可以确保在出现问题时不会意外删除数据库。

对于远程源:您可以启用推送通知并在数据库中发生更改后发送一个通知,因此通过发送通知可以触发将下载新数据并正确解析的服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM