【问题标题】:Update SQLITE database from server in background swift在后台从服务器快速更新 SQLITE 数据库
【发布时间】:2015-11-13 16:02:08
【问题描述】:

我正在开发一个使用 SQLite 数据库的应用程序。我想要实现的是

  1. 从服务器加载数据并将这些数据添加到本地数据库。
  2. 从本地数据库而不是直接从服务器向用户显示数据,这样如果没有互联网连接,用户可以看到一些旧数据。

这将始终是静态数据,但它会是大量数据。 现在我想在特定的时间段内更新这些数据,比如每 24 小时更新一次,但我想在后台执行此操作。这是关于加载数据,但一些数据将用于上传,这将是少量数据。 我已经看到了苹果 IOS-7 的发布功能(后台获取和后台传输服务),但我的理解是我们只能使用这个从服务器下载文件,我从这个答案 Here

但我必须处理 JSON。我已经搜索了很多我应该如何执行此操作但没有得到任何正确的解决方案。 我有这个后台任务教程

Background Transfer Service

还有更多教程,但我不知道如何在我的情况下实现它。

如果我的问题不清楚,请告诉我,我会提供更多详细信息。

感谢大家的帮助。

还有一点我想说,数据库结构和服务器数据库差不多。

【问题讨论】:

  • 您真的需要所有数据吗?而在后台可以是用户使用应用程序的时候(必须是真的)?
  • 是的,我需要在特定时间段内从服务器更新所有数据,并且应该在用户不使用应用程序时完成
  • 嗯,你不能总是有你想要的......后台下载可以通过文件完成,但如果你总是下载一个大文件,系统将停止安排你的任务,它会到达决定什么时候做。
  • 意味着我不能在后台调用 Web 服务并进行一些解析并将解析后的数据添加到 sqlite?
  • 有些是的,通过几种不同的方法,但不适用于“大量数据”

标签: ios objective-c iphone swift ios7


【解决方案1】:

在我看来,更好的解决方案是保存数据库最新更新的时间。每当用户打开您的应用(这是他唯一想看到新信息的时间)并且您保存的时间戳至少是 24 小时前,您应该更新数据库中的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多