我对Android很新。我一直在寻找一个关于如何通过网络执行HTTP发布请求的好例子,但我在犹豫要使用哪个,因为我只是为Android 4开发。我想要一些异步,快速和简单的东西。将非常感谢使用JSON结果解析的示例。有任何想法吗?我应该使用Apache HTTP Client还是HttpURLConnection?
答案 0 :(得分: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和杰克逊(我认为它应该是jackson-all)你的项目中的罐子。您可以在RestTemplate文档中找到这些jar的链接(上面的链接)。
要从Android SDK中异步使用AsyncTask。