2012-05-18 45 views
2

嗨,大家好,我幾乎是Android中的一名成員。這是情況。我試圖編寫一個應用程序,它基本上從網站獲取數據並將其顯示在應用程序中,來自網站的數據是PHP,我對如何做到這一點感到困惑,我聽說過json和使用xml解析,但是我只是不知道該怎麼做。我應該用什麼來解析數據?如何?有人告訴我有關AMF,但我不知道那是什麼,所以有人可以幫我解決這個問題,一個「begginer友好」的例子將不勝感激。多謝你們!!從php網站檢索數據到Android應用程序

回答

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?這不是你的問題所覆蓋的,所以我建議你弄清楚它是什麼,並且追求適當的路徑。如果你需要提出第二個問題,那麼做。

4

首先讓我們想一想,您的組合(Android + PHP)應用程序的流程是什麼?

  1. 的Android應用程序將通過REST調用您的網站(你把需要的參數在HTTP/GET請求):http://mySite.org/fetchData.php?neededId=12345
  2. PHP腳本fetchData.php需要了解你的要求:PHP腳本:「啊! - 我知道如果我需要Id作爲參數,我應該提供一個XYZ的二維數組。「
  3. 然後您的PHP腳本將收集所需的數據並將其準備爲JSON。 JSON是一個不錯的選擇,因爲它非常緊湊,與XML不同,並且可以通過簡單的方式來操作它(就像使用XML一樣)。如果你有一個相當簡單的數據結構 - 我一定會用JSON去。
  4. 然後你的腳本會以JSON的形式將數據的響應作爲流發送。
  5. 你的Android應用程序將收到響應,將其保存爲字符串/文件,然後你可以解析它。

我會推薦使用Google:記下我寫的內容並向Google詢問如何完成其​​中的每一個問題。

搜索引擎關鍵字:

  1. 如何檢索數據+ PHP + REST(我假設你知道如何在PHP中做到這一點),如何使用REST與Android(雖然這是一個Java的問題 - 如何調用URI)
  2. PHP mySQL檢索數據。 (我假設你知道如何在PHP這樣做)
  3. 與PHP
  4. 創建JSON ...
  5. JSON解析Java中的Android +。這裏有一個例子:http://answers.oreilly.com/topic/257-how-to-parse-json-in-java/

始終當你面對一個大問題(也是在現實生活中)嘗試:

  1. 打破它以較小的問題(這會讓他們看起來不那麼可怕)
  2. 想想你已經知道如何解決。
  3. 想一下對你而言,什麼是新的,你將不得不學習。
  4. 從最簡單的東西開始 - 這有助於在早期階段前進並防止沮喪。
  5. 保持冷靜 - 問題(特別是在編程世界)可以隨時解決。這只是你想要多少的問題。 5.

嗯 - 所以我沒有給你回答你的問題,但我相信我給你展示了一個解決方案的可能路徑。

P.S. - stackoverflow是許多專業人士的家(不包括我自己...)。他們在自己的問題上投入了大量的時間和精力,並且非常善意地幫助別人。總是告訴他們,你願意投入努力解決自己的問題 - 否則你可能會阻止他們太快:-)

運氣好運!

+0

非常感謝你,我真的很感謝你的回答,而且你正確地展示了獲得答案的方式,而不是提供確切的答案。給一個人一條魚,你會養活他一天,教一個人如何去釣魚,你會養活他一生。我會按照你的意見,我會開始爲小問題,並繼續從那裏。再次感謝。 – user1402763

相關問題