2012-05-02 47 views
-1

我想編寫一個Android應用程序,它可以與使用PHP編寫的中央服務器進行通信,與它進行通信並獲取/發送數據,例如用戶身份驗證,顯示用戶偏好等 我的問題是做這件事的最好方法是什麼。在服務器端使用返回XML並在android或使用json解析xml的webservice,或者使用html post響應並解析它。 任何幫助,將不勝感激。從服務器獲取數據到Android手機的最佳方式

+0

JSON ...使用更方便,更靈活 – WarrenFaith

回答

9

的Json是最好的選擇

,因爲它的光路,並且可以爲Java對象很容易地轉換。 總之JSON是最好的

+0

感謝您的回答,我有一個問題,我應該用什麼在服務器端genearte的JSON。 –

+0

雖然我不是一個Web開發人員,聽到的是鏈接,PHP ... http://www.sencha.com/learn/legacy/Tutorial:Creating_JSON_Data_in_PHP –

1

請使用json。 XML太大了。 html不是爲數據交換而設計的。

0

它取決於客戶端以及服務器團隊。在Android不錯JSON API可用。很容易解析傳入的數據並以JSON格式準備請求。

雖然你也可以去xml。好的支持也可用於xml

0

我推薦JASON。這是目前的事實標準。並不像XML那麼沉重。

我一直在使用許多C#JASON web服務從我的ANdroid應用程序,他們都像魅力一樣工作。我相信它也會和PHP服務一樣。

發佈HTML響應對於表單可以正常使用,但對於複雜的數據您可能會遇到困難。

所以我會投票給JASON

也可以查看supplementary read

2

正如其他答案所說,JSON。它是輕量級的,易於使用,android有支持JSON的標準庫。

例如:

ContentValues values = new ContentValues(); 
JSONArray projects = new JSONArray(_webService.getStringResponse()); 
int counter = 0; 
int projectSize = projects.length(); 

while(projectCount < projectSize) { 
    JSONObject projectData = projects.getJSONObject(projectCount); 

    values.put(DbProperties.PROJECT_ID, projectData.getString("pid")); 
    values.put(DbProperties.CUSTOMER_ID, projectData.getString("cid")); 
    values.put(DbProperties.SETTLEMENT, projectData.getString("settl")); 
    //Do some database saving for example 

    counter++; 
} 

這裏發生的(所以你的想法了這一點,一個應用程序的)如下:

我張貼的請求,得到一些結果返回JSON格式。我創建了一個JSONArray對象,它以一個json字符串作爲構造參數,在我的情況下,json字符串由一個包含json對象的數組組成json對象並將其保存到數據庫。

這個簡單例子的目標是展示一些東西;

  • 它簡單得令人難以置信的Android
  • 易於使用JSON的工作簡單地起酥油鍵值名(JSON基本上是成對的鍵值),以壓縮字符串。

後者具有分塊向下字符串的大小的好處是說,同時作爲一個反面,數據的可讀性。我出於壓縮原因做了這個,我的代碼評論很好。反映這種壓縮。

相關問題