1

现在我正在大学里做一个关于 iPhone 开发的项目。该项目由一个带有 mysql 数据库的网络服务器和多个客户端(IPhone 设备)组成。

我在基本概念上有些挣扎,即 iPhone 和 Webserver 之间的通信(接收、发送数据)。

我已经建立了一个带有 MYSQL 数据库的网络服务器。我还有一个 PHP 脚本,它可以访问数据库并将 db-Data 写入 XML 文件。

1) 与客户端 (iPhone) 合作的最佳方式是什么?

2) 是否可以直接访问 .php 文件并将 XML 下载到 iPhone?

3) 什么会下载到 iPhone 上?整个 XML 文件还是 XML 内容?

然后,我将继续使用 XML-Parser(最好是 NSXMLParser)处理 XML-File。

4) 如何将接收到的数据永久存储在 iPhone 上?NSMutableArray?如果在 iPhone 设备上添加任何数据,则离线模式需要此功能。

这让我想到了我的最后一个问题:

5) 如何将数据发送回网络服务器?或者更具体地说,我必须使用哪种数据结构将数据发送回网络服务器?这样做的合理方法是什么?例如:创建一个新的 XML 文件并将其发送回网络服务器?

最好的问候, 亚历克斯

4

1 回答 1

1

数据协议必须是 XML 吗?我会选择 JSON 作为数据协议!如果您可以使用 JSON,请查看轻量级SBJson框架。相信我,在 iOS 上使用 JSON 而不是 XML 会容易得多!

总结其他问题,关于服务器通信等!从头开始编写网络代码是强制性的先决条件,还是允许您为此使用现有的开放框架?如果您可以使用框架,那么请看一下MKNetworkKit!它将消除编写或合并自己的网络代码所带来的几乎所有麻烦,并且它已经内置了 JSON 序列化/反序列化!

如果没有,那么使用 NSURLConnection、NSURLResponse 和可能的一些 NSOperation/NSOperationQueue 进行异步处理,玩得开心!:-) 不要忘记来自 Apple 的 Reachability.h/m!;-)

对于设备上的数据持久性,要么使用CoreData,它非常强大,但对于您的目的来说,mybe(关于复杂性)的开销很大。或者只是将您的东西存储在NSUserDefaults中!

于 2012-08-23T14:55:10.863 回答