1

我对Android很陌生。我一直在寻找一个关于如何通过网络执行 HTTP 发布请求的好例子,但我正在犹豫使用哪个,因为我只为 Android 4 开发。我想要一些异步、快速和简单的东西。非常感谢 JSON 结果解析的示例。有任何想法吗?我应该使用 Apache HTTP 客户端还是 HttpURLConnection?

4

1 回答 1

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(我认为它应该是 jackson-all)jar。您可以在 RestTemplate 文档(上面的链接)中找到这些 jar 的链接。

为了使这个异步使用 Android SDK 中的 AsyncTask。

于 2012-07-11T16:54:12.380 回答