Android的Http网络请求模型初步
2012-07-31 14:56
441 查看
Android系统默认支持两种方式进行网络通信,来自Apache的HttpClient和Java自身的HttpURLConnection,官方文档显示自从GingerBread版本即2.3开始推荐使用HttpURLConnection,因为它代码更精简,bug也更少,但在之前版本有一些bug
private HttpClient httpClient; private HttpEntity httpEntity; private HttpResponse httpResponse; private HttpPost httpPost; private static final int TIMEOUT = 10000; private static final String TAG = "HttpManager"; public int doPost(String url, Map<String, String> map) { try { httpClient = new DefaultHttpClient(); httpPost = new HttpPost(url); //将map对象转成json格式,再转成String类型 JSONObject json = new JSONObject(map); httpEntity = new StringEntity(json.toString(), HTTP.ISO_8859_1); Log.d(TAG, "json: " + json); httpPost.setEntity(httpEntity); httpResponse = httpClient.execute(httpPost); int code = httpResponse.getStatusLine().getStatusCode(); Log.d(TAG, "code: " + code); HttpEntity entity = httpResponse.getEntity(); StringBuilder builder = new StringBuilder(); BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), HTTP.UTF_8)); String s; while ((s = reader.readLine()) != null) { builder.append(s); } int result = Integer.parseInt(builder.toString()); Log.d(TAG, "result: " + result); return result; } catch (Exception e) { return -1; } }
相关文章推荐
- 浅论Android网络请求库——android-async-http
- Android网络请求库android-async-http介绍
- Android网络请求(HTTP)
- Android网络请求库——android-async-http
- android 网络请求 http
- Android网络框架之Http请求的分发与执行(三)
- Android HTTP网络请求的异步实现
- Android开发之网络请求HttpURLConnection
- Android使用HttpURLConnection请求网络资源
- Android网络通讯之HTTP请求通信(二)
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- Android中使用Volley开源库进行Http网络请求(GET方式)
- Android Asynchronous Http Client-Android异步网络请求客户端接口
- Android网络请求框架—OKHttp 源码解析
- Android中HttpConnection+Servlet实现网络请求
- Java Http网络请求HttpURLConnection应用之【Android网络请求框架底层剖析】
- 利用线程池实现Android客户端的http网络数据请求工具类
- Android中的网络请求之HttpClient
- Android的网络请求库----Android-Async-Http