【问题标题】:Updating Sqlite from web server?从 Web 服务器更新 Sqlite?
【发布时间】:2011-09-18 03:47:11
【问题描述】:

我目前正在构建一个使用 Core Data 和 sqlite 数据库的 iPhone 应用程序,用户将在整个应用程序中从数据库中读取静态信息。我有一个问题,我们可能会更新数据库中的信息,但不想完全更新应用程序,只更新数据库。有人可以通过简单的功能或如何访问网站或服务器并下载将替换我们已经放入应用程序的数据库的文件的教程来帮助我吗?我是 xcode 的新手,我正在做我的第一个应用程序....感谢您的帮助

【问题讨论】:

    标签: ios sqlite


    【解决方案1】:

    我认为一个好主意是让您的网站发布必须通过 REST 存储在 sqllite 中的数据,可能是 JSON 或 XML 格式。

    blog post 描述了您如何做到这一点。我必须说,它从 web 服务中检索内容的方法有点低级,但它可以完成工作。也许RestKit 可以帮助你处理所有底层网络/http 的东西。

    【讨论】:

    • 我猜他们想启用离线功能,因为他们在本地存储。总是在休息时检索静态数据将需要持续的连接。因此,如果它们在本地存储,则可能是数据库。另一种选择是从 REST 请求并存储在文件等中......这取决于静态数据的复杂程度。
    • 嗯,是的,它将以这样一种方式实现,即 sqllite db 仅每 x 时间段刷新一次。这是一个不同的问题,或者至少在问题中不明显
    • 确实是本地静态数据 我不需要持续的互联网连接来使应用程序正常工作。我想每隔一段时间跨另一个 sqlite 文件或托管在 Web 服务器上的 xml 更新 SQLITE。谢谢你的帮助!!!!
    • Alvaro... 在 stackoverflow,当人们回答您的问题并且他们很有用时,您应该支持他们的回答。最后,您应该将最有用的一个标记为“答案”。
    【解决方案2】:

    我假设您需要本地的静态数据,这样您的应用就不需要持续的互联网连接来运行。另一种选择是从 Web 请求静态数据并将其保存在文件中(NSUserDefaults 等...)。但是,这取决于静态数据的复杂程度以及您是否必须查询该数据。如果您需要对该静态数据发出查询,DB 肯定更好。

    您还可以在应用运行时异步下载更新的数据库(如果可用)进行组合。您可以在用户默认值中有一个设置,即当前的静态数据数据库。如果更新,则切换当前设置并在锁定下重新建立数据库连接。

    以下是使用 iOS 发出 http 请求的方法。

    rest web services in iphone

    如果您正在下载数据库数据,请不要将 NSData 转换为示例中的字符串...

    此外,ASI-HTTP-Request 也很受欢迎。以下是有关如何下载文件的示例:

    http://allseeing-i.com/ASIHTTPRequest/How-to-use

    http://www.cocoadev.com/index.pl?NSUserDefaults

    【讨论】:

    • 确实是本地静态数据 我不需要持续的互联网连接来使应用程序正常工作。我想每隔一段时间跨另一个 sqlite 文件或托管在 Web 服务器上的 xml 更新 SQLITE。谢谢你的帮助!!!!
    猜你喜欢
    • 2012-09-07
    • 2014-04-03
    • 2014-03-30
    • 2015-11-13
    • 2010-09-25
    • 2015-09-20
    • 2017-08-07
    • 2013-05-28
    • 1970-01-01
    相关资源
    最近更新 更多