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

时间:2012-05-18 07:39:46

标签: php android xml parsing

嗨,大家好,我几乎是Android的佼佼者。情况就是这样。我正在尝试编写一个基本上从网站获取数据的应用程序,在应用程序中显示它,来自网站的数据是PHP,我混淆了如何做到这一点,我听说json,并在xml中进行解析但是我只是不知道该怎么做。我应该用什么来解析数据?怎么样?有人告诉我有关AMF的事情,但我不知道那是什么,所以有人可以帮我这个,一个例子“友好的begginer”将不胜感激。谢谢你们!

3 个答案:

答案 0 :(得分:4)

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

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

    搜索引擎关键字:

    1. 如何检索数据+ PHP + REST(我假设您知道如何在PHP中执行此操作),如何在Android中使用REST(尽管这是一个Java问题 - 如何调用URI)
    2. PHP mySQL检索数据。 (我假设您知道如何在PHP中执行此操作)
    3. 使用PHP创建JSON
    4. ...
    5. 在Java + Android中解析JSON。以下是一个示例:http://answers.oreilly.com/topic/257-how-to-parse-json-in-java/
    6. 当你面对一个大问题时(也在现实生活中),请尝试:

      1. 将其分解为较小的问题(这会使它们看起来不那么可怕)
      2. 想想你已经知道如何解决的问题。
      3. 想想你有什么新鲜事,你必须要学习。
      4. 从最简单的东西开始 - 这有助于前进并防止在早期阶段受挫。
      5. 保持冷静 - 问题(特别是编程领域)始终可以解决。这只是你想要多少的问题。 5。
      6. 嗯 - 所以我没有给你答案,但我相信我向你展示了解决问题的可能途径。

        P.S。 - stackoverflow是许多专业人士的家(不包括我自己......)。他们在自己的问题上投入了大量的时间和精力,并且非常善于帮助他人。总是向他们表明你愿意为解决自己的问题付出努力 - 否则你可能会过快地劝阻他们: - )

        好运!

答案 1 :(得分:2)

阅读这篇文章。你可以从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/

答案 2 :(得分:2)

您需要澄清您的问题。除非您正在编写,否则网站由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?你的问题没有涵盖这一点,所以我建议你找出它是什么,并寻求适当的路径。如果您需要提出第二个问题,请执行此操作。