将服务器端 MySQL 数据库传输到 iOS

Posted

技术标签:

【中文标题】将服务器端 MySQL 数据库传输到 iOS【英文标题】:Transferring a server side MySQL database to iOS 【发布时间】:2012-01-07 08:41:00 【问题描述】:

我正在构建一个 ios 应用程序,部分功能是它需要离线工作。现在,该应用程序通过加载 php 脚本从 Web 服务器下载信息,该脚本在以 JSON 格式发送数据时。所以我的应用程序会向 www.foo.com/bar/getVideos.php 发送请求。返回所有所需视频的 JSON 字符串。

我希望能够在设备上拥有数据库的完整本地副本(它不是很大,它只会让离线使用变得更容易)。是获取所有表格并以 JSON 格式输出的最佳方式。然后在 iPhone 上重建(假设我已经知道结构,只是填写数据)。还是有更简单的方法?

【问题讨论】:

【参考方案1】:

另一种选择是构建 sqlite 数据库服务器端并下载数据库文件。 sqlite 文件是可移植的。

这将降低设备上的复杂性和处理时间,并将其集中在服务器上。

【讨论】:

谢谢。不要以为您知道如何仅使用 php 创建 mysql 数据库转储的 SQLite 转储?我试着环顾四周,什么都找不到。 除了选择数据并使用 SQLite API 将其写入 SQLite 数据库(已记录在案)之外,我什么都不知道。 我们已经在我们的一个应用程序中使用了这个想法,并且像魅力一样工作。我们的数据库非常庞大,是电子商务应用程序,并且经常更新。我们尝试了 PHP-JSON 并将其解析为应用程序上的 SQLite DB。它花了 3 分钟(在大量优化查询后花了 30 秒)。但是,构建数据库并从服务器下载只需要 3 秒。【参考方案2】:

我认为你的方法已经足够好了。而且它非常便携——您可以轻松更改服务器端软件,甚至在另一个平台(例如 android)上创建客户端,因为 JSON 是非常常见的标准。

另一个选项是您可以生成一个 SQLite DB,然后将其传输到 iPhone,并使用 iOS 对 SQLite 的内置支持。您可以选择任何其他解决方案。但是您已经有了解决问题的远见,因此,我认为只需要使用它即可。

【讨论】:

优秀。谢谢你。那么我会坚持使用 JSON 方式。

以上是关于将服务器端 MySQL 数据库传输到 iOS的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何将音频数据从客户端流式传输到服务器?

TCP传输

MySQL 在流式传输 ResultSet 时是不是使用服务器端预取

MYSQL主从模式

即时通讯开发之传输内容端到端加密技术

Socket.io - nodejs 服务器端。重新连接后传输关闭