笔记76--网络篇1:HttpURLConnection和HttpClient
来源:互联网 发布:环氧丙烷价格30日数据 编辑:程序博客网 时间:2024/06/14 00:50
部分转自张兴业博客:http://blog.csdn.net/xyz_lmn/article/details/12200133
一、Apache HTTP Client
DefaultHttpClient以及其相关类AndroidHttpClient适用于web browsers,拥有大量稳定的APIs。但是,在不破坏其兼容性的前提下很难对如此多的APIs做修改。因此,Android团队对修改优化Apache HTTP Client表现的并不积极。
二、HttpURLConnection
HttpURLConnection是一个通用的、适合大多数应用的轻量级组件。这个类起步比较晚,很容易在API上做稳定的修改。
在2.3中,HttpURLConnection的报文头中添加了对报文的压缩处理,包括请求报文和回复报文。具体参考张兴业博客。
三、用哪个
在2.0和2.2上Apache HTTP Client拥有更少的bug,更好的稳定性,因此它是最好的选择。
在2.3以后的版本中,HttpURLConnection是最好的选择,它简单的api及轻量级非常适合Android。压缩和缓存机制降低了网络使用,提高了速度、节省了电量。
四、一个HttpURLConnection案例
public static String URLConn(String strURL, String jsonData){<pre name="code" class="java">/* * 此方法必须另开线程 * 返回值为空则调用失败 * strURL:地址到?结束 * jsonData:将json对象转换成字符串 */public static String URLConn(String strURL, String jsonData){String result=null;try {strURL+="j="+jsonData;System.out.println("--strURL------"+strURL);URL url = new URL(strURL);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("POST"); conn.setDoOutput(true); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer buffer = new StringBuffer();String line = ""; while ((line = in.readLine()) != null){ buffer.append(line); } result = buffer.toString();conn.disconnect();System.out.println("////////////////////////////打印数据");System.out.println(result);} catch (Exception e) {e.printStackTrace();return "网络异常";}return result;}注意:jsonData中的中文必须编码。编码方式:
jsonData.put("xxx",URLEncoder.encode("xxx", "UTF-8"));
0 0
- 笔记76--网络篇1:HttpURLConnection和HttpClient
- Android网络HttpURLConnection和HttpClient
- HttpURLConnection和HttpClient连接网络
- Android网络HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- android-HttpClient和HttpURLConnection判断网络连接
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android网络开发:HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android HttpURLConnection和HttpClient获取网络内容
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- Android网络连接之HttpURLConnection和HttpClient
- 调整tomcat内存的大小
- 公积金为何会沦为穷人的“鸡肋”?
- Sqlite3 not found解决办法
- 兼容浏览器的insertAdjacentHTML
- RTMFP---基于CumulusServer的P2P功能实现
- 笔记76--网络篇1:HttpURLConnection和HttpClient
- SQL大量数据查询的优化
- Ehcache配置详解及CacheManager使用
- 反射的练习
- 检测版本更新
- 【DP】HDU 2189 悼念512汶川大地震遇难同胞——来生一起走
- int[]、int[,]和int[][]区别联系
- 《UNP》中源代码的编译和使用
- 快速排序