2012-07-11 47 views
1

我對Android很陌生。我一直在尋找一個很好的例子來說明如何通過Web執行HTTP post請求,但由於我只是爲Android 4開發,所以我很猶豫如何使用它。我想要一些異步,快速和簡單的東西。 JSON結果解析的例子將非常感謝。有任何想法嗎?我應該使用Apache HTTP客戶端還是HttpURLConnection?JSON解析結果與Android 4的異步HTTP發佈?

回答

1

對我來說RestTemplate是在Android上使用REST服務最簡單的方法之一。

爲JSON

例子:

RestTemplate template = new RestTemplate(); 
     HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); 

    //setting timeout 
    requestFactory.getHttpClient().getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 
      HTTP_TIMEOUT); 
    requestFactory.getHttpClient().getParams().setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 
      HTTP_TIMEOUT); 

    template.setRequestFactory(requestFactory); 

    //setting converter for JSON 
    List<HttpMessageConverter<?>> converters = template.getMessageConverters(); 
    converters.add(new MappingJacksonHttpMessageConverter()); 
    template.setMessageConverters(converters); 


    ResponseEntity<ResponseObject> response = template.postForEntity(URL, requestObject, ResponseObject.class); 

    ResponseObject result = response.getBody(); 

爲了使這一工作需要RestTemplate和傑克遜(我想應該是傑克遜-ALL)項目中的罐子。您可以在RestTemplate文檔中找到指向這些罐子的鏈接(上面的鏈接)。

爲了使這個異步使用Android SDK的AsyncTask。