【问题标题】:Suggestion for getting data from a web server?从 Web 服务器获取数据的建议?
【发布时间】:2010-01-19 19:14:13
【问题描述】:

我有一个包含“有趣位置”列表的网络服务器。这些是在 Web 服务器上“硬编码”的,并由服务器端的管理员维护。用户无法添加或删除任何内容。

在我的应用程序中,我想创建一个“获取位置”按钮,然后应用程序应联系网络服务器并请求该“有趣的位置”列表。

我正在使用 Core Data 并且在我的模型中有一个 InterestingLocation 实体。目标是从 Web 服务器获取数据并使用 Core Data 将其保存在设备上,以便即使没有互联网连接也可以访问它。

我的想法是在服务器端使用 XML 并在 XML 文件中输出 InterestingLocation“对象”。只有大约 100 个,所以不是很大。

在客户端(设备),也许是 XML-RPC?

很高兴收到一些建议和更多信息,从哪里开始/如何开始:)

【问题讨论】:

标签: iphone web-services communication webservice-client client-server


【解决方案1】:

我的建议是保持简单。在服务器端,使用RESTful principles 使界面尽可能简单。

然后,您只需在 iPhone 应用程序中使用 NSURLConnection 来获取 URL。 NSURLConnection 是一种从远程位置下载文件的非常好的异步方式。

之后,解析 XML 或 JSON 并创建适当的 Core Data 对象就很简单了。我通常喜欢在单独的线程中对单独的托管对象上下文执行这样的导入操作。保存托管对象上下文时,使用NSManagedObjectContextDidSaveNotification 将更改与您的主要托管对象上下文合并。

【讨论】:

  • 谢谢。在服务器端,我只会输出一个普通的旧 XML 文件,其中包含所有“有趣的位置”项目。到目前为止简单的东西。
【解决方案2】:

你有什么样的服务器?如果服务器是基于 java 的,我建议查看 Fredrik Olsson 的 HessianKit。编码/解码成普通的Objective-C类型,放入NSArrays和NSDictionaries,体验更流畅。

【讨论】:

猜你喜欢
  • 2019-11-14
  • 2012-08-05
  • 2013-10-10
  • 2020-05-25
  • 2018-04-24
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多