2

好的,我发现了一些关于如何将数据从 MYSql 数据库获取到 iOS 应用程序的问题,但我只是在这里询问一些最佳实践。我知道这些都可以是单独的问题,但我希望可以以相互关联的方式回答它们。

我是否正确理解能够将数据输入 iOS 应用程序 - 我需要首先生成一个 JSON 文件,将其存储在服务器上,然后让应用程序下载这个文件?

如果之前的答案是否定的,那么这是否意味着我可以即时提取数据?

最后我看到了创建 JSON 文件的 PHP 示例,但 iOS 是在 Objective-c 中的。这是否意味着我需要加载 UIWebView 才能加载生成文件的 PHP 页面?

我有的:

我有一个 MYSql 数据库 - 它是通过 PHPMyAdmin 设置的,所以我对数据库的创建过程还不够熟悉。我会调查的。

我也可以从 PHPMyAdmin 导出 JSON 文件,但这在 iOS 应用程序中对我没有好处。

我还对从 JSON 文件到 iOS 应用程序的解析进行了排序,但我希望能够即时执行此操作,而不是创建潜在的数百个文件。

我希望有人可以在这里帮助我:-)

我不一定要代码,但会很生气地忽略它:-)

4

3 回答 3

6

问题是没有任何 iOS 库可以直接连接到 MySQL 服务器;无论如何,你真的不想那样做。因此,您需要一个能够以您的 iOS 应用程序可以理解的格式发送数据的中间服务器。请注意,这并不意味着数据必须是 JSON 格式。但是使用 JSON 作为数据格式非常容易。大多数语言都支持从其本机对象格式生成 JSON。

一旦你有一个能够以你喜欢的格式发送数据的服务器,你就需要为你的 iOS 应用程序编写一些方法来检索它。您不必为此使用 UIWebView。如前所述,该NSURLConnection框架很容易用于提出这样的请求。但是,在发出网络请求时还有很多其他因素需要考虑,其他人已经为您完成了大部分工作。我喜欢将AFNetworking框架与JSONKit结合使用。AFNetworking 使对远程 Web 服务的异步调用非常容易,而且 JSONKit 比NSJSONSerialization我认为的要好。

于 2012-12-31T01:08:34.647 回答
2

我将数据从 MySQL 检索到我的 iOS 应用程序的方法是:

  1. 在您的服务器上创建一个 PHP 文件并为 GET 方法准备它(您将从 iOS 应用程序发送数据)
  2. 从您的 iOS 应用程序向您的 php 文件发送请求,例如:“www.yourdomain.com/data.php?name=...”
  3. 处理有关您的 php 文件和echojson 输出的信息。
  4. 当使用. connectionDidFinishLoading:_NSDataNSJSONSerialization
  5. 对输出信息做任何你喜欢的事情

我就是这样做的。我不熟悉其他方法。

于 2012-12-31T00:57:24.490 回答
1

PHP(和任何其他服务器端语言)可以从 MySQL 数据库中获取数据,并将其作为 JSON 即时输出到任何客户端。无需事先将 JSON 保存到磁盘。当然,从客户的角度来看,实际上没有根本区别(除了数据将始终是数据库中内容的最新表示)。

您也不必使用 UIWebView。有很多方法可以使用 Objective-C 发出 HTTP 请求,但您可能希望查看与NSURLConnection'ssendSynchronousRequest:returningResponse:error:方法类似的东西(我更喜欢在异步块中使用同步方法,但这不是唯一的方法) . 你可以找到很多关于如何做类似事情的教程,以及更高级别的库来简化这个过程。

于 2012-12-31T00:52:50.977 回答