从PHP网站检索数据到Android应用程序


retrieving data from php website to an Android App

嗨,伙计们,我几乎是Android中的乞丐。情况就是这样。我正在尝试编写一个应用程序,该应用程序基本上从网站获取数据并将其显示在应用程序中,来自网站的数据是PHP,我对如何做到这一点感到困惑,我听说过json,并在xml中解析,但我只是不知道该怎么做。我应该使用什么来解析数据?以及如何?,有人告诉我AMF,但我不知道那是什么,所以有人可以帮助我解决这个问题,一个例子"乞丐友好"将不胜感激。谢谢大家!!

首先让我们考虑一下,您的组合(Android + PHP(应用程序的流程是什么?

  1. Android 应用程序将通过 REST 调用您的网站(您将所需的参数放入 HTTP/GET 请求中(: http://mySite.org/fetchData.php?neededId=12345
  2. PHP 脚本
  3. fetchData.php 需要理解您的请求: PHP 脚本:"啊!- 我知道如果我得到 needId 作为参数,我应该提供一个 XYZ 的二维数组。
  4. 然后你的PHP脚本将收集所需的数据并将其准备为JSON。JSON 是一个不错的选择,因为它是紧凑的,不像 XML,并且有简单的方法来操作它(就像 XML 一样(。如果你有一个相当简单的数据结构 - 我肯定会选择JSON。
  5. 然后,脚本将以 JSON 的形式将数据的响应作为流发送。
  6. 您的Android应用程序将收到响应,将其另存为字符串/文件,然后您可以解析它。

建议使用谷歌:把我写的要点问谷歌关于如何完成每一个问题。

搜索引擎关键词:

  1. 如何检索数据 + PHP + REST(我假设您知道如何在 PHP 中执行此操作(,如何在 Android 中使用 REST(尽管这是一个 Java 问题 - 如何调用 URI(
  2. PHP mySQL 检索数据。(我假设你知道如何在PHP中做到这一点(
  3. 使用 PHP 创建 JSON
  4. 在Java + Android中解析JSON。下面是一个例子:http://answers.oreilly.com/topic/257-how-to-parse-json-in-java/

当你遇到一个大问题时(在现实生活中也是如此(,总是尝试:

  1. 将其分解为较小的问题(这将使它们看起来不那么可怕(
  2. 想想你已经知道如何解决的问题。
  3. 想想对你来说有什么新东西,你将不得不学习。
  4. 从最简单的东西开始 - 这有助于前进并防止早期阶段的挫败感。
  5. 保持冷静 - 问题(特别是在编程世界中(总是可以解决的。这只是你想要多少的问题。5.

好吧 - 所以我没有给你问题的答案,但我相信我向你展示了一条可能的解决方案。

附言 - stackoverflow 是许多专业人士的家(不包括我自己......他们在自己的问题上投入了大量的时间和精力,并且非常友善地试图帮助他人。始终向他们表明您愿意投入精力来解决自己的问题 - 否则您可能会太快阻止他们:-(

运气好!

阅读这篇文章。你可以了解从php/mysql检索数据: http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/ http://www.androidhive.info/2011/11/android-xml-parsing-tutorial/

你需要澄清你的问题。 网站由PHP提供支持这一事实是无关紧要的,除非你正在编写它。 您有一个指向数据的 HTTP 接口。 您需要使用HTTP将内容提取到Android客户端中。 这是您需要的第一个示例。

    URL url = null;
    HttpURLConnection urlConnection = null;
    try {
        // Fetch URL
        url = formatQuery( "this part is up to you" );
        while (url != null) {
            urlConnection = (HttpURLConnection) url.openConnection();
            InputStream is = urlConnection.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            parseResult( isr );
            url = null;
        }
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    } finally {
        urlConnection.disconnect();
    }

下一个问题是,PHP 应用程序返回的数据是什么格式? 是JSON还是XML? 你的问题没有涵盖这一点,所以我建议你弄清楚它是哪个,并寻求适当的路径。 如果您需要问第二个问题,请这样做。