mysql - 在 iOs App 中使用 Mysql

标签 mysql ios web

<分区>

我的 friend 已经有了自己的工作网站(卖东西)。我们想为网站创建 iOs 应用 以吸引更多人(对我来说 - 获得一些急需的经验)。

UI 将会很简单,并且不会像使用网站数据那样出现很多问题。我们需要该应用程序在本地拥有一些数据,以便无法访问互联网的人能够使用该应用程序。

但是,当然,我们希望应用程序中的信息是最新的,所以我需要以某种方式使用 MySQL 数据(我的意思是,如果这个人可以访问互联网,应用程序可以使用它并下载一些数据,如果没有 - 应用程序必须包含一些数据才能显示)。老实说,我希望这个应用程序非常好,所以我有一个问题:什么组合更好用???

  1. 要使用核心数据,请创建一个数据模型(它庞大且难以重现,需要创建很多类)。我可以做到,但是如何更新数据呢? =) 不知道。
  2. 要创建一个sqlite 数据库,然后使用类似php 的代码插入get 并将数据编码到json,然后解析它。
  3. 也许我应该直接从应用程序连接到 MySQL 并使用它的数据,因为不可能在本地拥有相同的数据?
  4. 或者只是使用 jsonxml 来解析它?

请大家帮帮我,我需要我的应用既酷又健壮,但我不知道该怎么做。也许你可以告诉更好的方法来解决这样的问题?

最佳答案

通常,您必须使用 SQLite 在您的应用程序中构建一个类似的数据库,并通过某种 API 桥从 MySQL 导入数据。进行这种数据交换的一种简单方法是通过对记录的属性进行编码的 JSON。 XML 也是一种可能的传输机制,但往往有更多的开销并且最终使用起来更棘手。您要来回发送的通常是键值对集,而不是整个文档。

坚持使用核心数据,除非你有充分的理由使用其他东西。发现它令人恼火或与众不同并不是一个好的理由。一开始可能有点棘手,但在实践中,如果使用得当,它往往不会引人注目。

除非您正在编写明确作为 MySQL 客户端的东西,否则永远不要在 iOS 应用程序中直接连接到 MySQL。时期。甚至不要考虑这样做。不仅不可能有效保护,而且 iOS 网络预计将极其不可靠、缓慢,而且通常完全不可用。您的应用程序必须能够利用有限的带宽,处理非常高的延迟,并将操作分解为可能成功的小事务,而不是一个必然会失败的长时间运行的操作。

您如何在数据库和客户端之间同步数据?这取决于您要使用的网络堆栈。您在这里有很多选择,但至少您应该使用 Ruby on Rails、Django 或 NodeJS 之类的东西制作原型(prototype)。 PHP 是可行的,但如果没有数据库框架,很快就会变得非常困惑。

关于mysql - 在 iOs App 中使用 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14595343/

相关文章:

java - 重定向到 Spark 中添加属性的页面

php - 多表单同处理页面

mysql - 记录特定表的 mysql 更新查询

objective-c - const 全局字符串文字已损坏

ios - 解码H264 : VTDecompressionSessionCreate fails with error code -12910 (kVTVideoDecoderUnsupportedDataFormatErr)

ios - 无法在 UILabel 中显示我的文本

localization - Web 应用程序翻译、方法和工具

mysql - 组合 SELECT 语句将库存 SKU 数组/列表连接到产品页面 SKU

php - 行排名查询在 MySQL 中有效,但在 PHP 中无效

javascript - 页面主体上指定的字体大小会影响其 iframe 吗?