1

我在 Web 服务器上有一个 MySQL 数据库,需要从 iPhone 应用程序中读取数据。做这个的最好方式是什么?数据需要从网络服务器访问,并且会不时更新。NSURL 类是要走的路吗?

谢谢你的帮助。

4

2 回答 2

5

我建议在服务器端使用一种简单的 Web 技术——PHP、Ruby on Rails 等——它充当发送 JSON 的基本 RESTful 风格的 Web 服务。这很简单,不需要大量的编程专业知识——例如,通过 PHP 输出 JSON 需要一行代码,而获取数据的请求只需要少量代码。

在 iPhone 端,ASIHTTPRequest使得创建异步更新请求变得非常容易,而SBJSON使得将接收到的数据转换为 NSDictionaries 的 NSArray 非常容易,只需几行代码。

使这一切顺利进行的关键是确保您密切跟踪数据修改日期,以确保下载新记录并确保 iPhone 接收每条更新的记录。

例如,MYSQL 服务器上的每条记录都可以有一个 LastModified 字段,该字段使用on update CURRENT_TIMESTAMP命令使该字段保持最新。在 iPhone 上,您还将存储这些日期。当设备请求和更新时,它首先查找它正在更新的表的最新 LastModified 日期并将其发送到服务器。服务器代码发回 LastModified 大于发送日期的所有记录。

这可以通过在服务器端为每条记录设置一个 DateCreated 字段来进一步简化。这允许服务器返回两组数据,其中一组 DateCreated 字段大于发送的 LastModified 日期——这些将被插入 iPhone 数据库——另一组 LastModified 服务器日期晚于发送的一组但 DateCreated 字段小于或等于发送的日期——这些是需要更新的数据行。

我刚刚编写了一个执行此操作的应用程序,所以这些问题在我脑海中是新鲜的。希望这可以帮助。

于 2010-11-27T17:49:21.340 回答
1

您不能直接连接到数据库。您将需要在您的服务器上有一个页面,以 JSON 或 XML 格式转储数据库的必要区域。你应该看看 TouchJSON。

于 2010-11-27T17:15:31.763 回答