2012-10-26 111 views

回答

1

你可以用你的結構的XML即對象的陣列,每個具有兩個字段然後將其轉換成字符串作爲, 作爲一個例子,

 String input = String.format("<Request><Data><Id>%s</Id></Data> 
     </Request>",studentIdSelected); 

然後調用此方法具有輸入和URL作爲參數發佈您的數據,

 public static String retriver(String Url, String input) { 

    String responseString = null; 
    StringEntity stringEntity; 
    HttpPost postRequest = new HttpPost(Url); 
    try { 

     Log.e("string is", input + "\n" + Url); 
     stringEntity = new StringEntity(input, "UTF-8"); 
     stringEntity.setContentType("application/atom+xml"); 

     postRequest.setEntity(stringEntity); 
     Log.v("Post", "Posted"); 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpResponse response = httpclient.execute(postRequest); 
     HttpEntity getResponseEntity = response.getEntity(); 

     responseString = EntityUtils.toString(getResponseEntity); 

    } catch (Exception e) { 
     // TODO: handle exception 
     postRequest.abort(); 
     Log.w("HttpPostRetreiver", "Error for URL " + Url, e); 
    } 

    return responseString; 

} 

或者,您也可以使用json。

+0

Thx對於此解決方案,但是我將使用JSONObject和JSONArray coz服務器重新請求json格式。 Soz因爲我之前沒有這樣說過:/ –

1

最好的解決方案是以json或xml格式發送http post請求。

+0

我相信你是對的,但我需要把args放在一個url中。無論如何,現在我試圖使用JSONObject和JSONArray類來做我所需要的。如果有人願意,我認爲這可能是一個很好的解決方案。 –

+0

嗯,我試過了。這是很好的解決方案,但需要編碼特殊的字符,如'['或','。我只是在Base64中編碼整個東西,然後把真正的長參數放在url中。有用 ; P –