Android 包含了两种 HTTP Client:HttpURLConnectionApache HTTP Client。两者都支持 HTTPS,流上传和下载,访问超时设置,IPV6 和连接池。


Apache HTTP Client
DefaultHttpClient 和他的姊妹 AndroidHttpClient 都从 HTTP Client 继承而来。它们有大量、灵活的 API,实现也稳定,bug 少。
但是大量的 API 也使得 Android 团队在不破坏兼容性的情况下对其改进比较困难。所以 Android 团队现在对其的维护比较少了。


HttpURLConnection
HttpURLConnection 是一个通用的、轻量化的 HTTP Client。刚开始其实现过于简单,但是也比较容易稳固地改进。
Froyo(2.2)之前,HttpURLConnection 有一些令人沮丧的 bug。


Android 6.0 移出了对 Apache HTTP Client 的支持。如果你的 App 的 target API 高于等于 Android 2.3(API 9),应该使用 HttpURLConnection。HttpURLConnection 的性能更好,因为它通过自动压缩和响应缓存减少了网络请求,还减少电量消耗。如果你依然坚持时候用 Apache HTTP API 的话,你一定要在build.gradle
中声明:

android { useLibrary 'org.apache.http.legacy'}

即使加入这句话以后,也有可能出现如下编译错误:

" Unable to find optional library: org.apache.http.legacy"

解决办法:
1、看看目录E:\software\Android\sdk\platforms\android-23\optional 下有没有org.apache.http.legacy.jar 和 optional.json

optional.json

2、如果没有optional.json,则自己新建一个这样的文件,然后加入如下内容:

[    {      "name": "org.apache.http.legacy",      "jar": "org.apache.http.legacy.jar",      "manifest": false    }  ]  

本文是在以下文章中整合的:

http://www.jianshu.com/p/89853acef9b3

更多相关文章

  1. android支持有线网--网络上看到
  2. Android(安卓)3D引擎之min3D--支持材质和UV贴图的objloader
  3. Android模拟器的属性配置介绍
  4. 小多的Android入门教程系列---之1---贪吃蛇改进版
  5. NoSQL数据库 Java Android(安卓).NET Mono Unity3D Xamarin Nash
  6. android event事件录制回放 --2 touch事件分析
  7. Android(安卓)工具包 xUtils 3.3.16
  8. 2013 HTML5中国峰会演讲:Android上的HTML5:过去,现在和将来
  9. Android(安卓)UI开发第三十四篇——SlidingPaneLayout

随机推荐

  1. sql merge的用法实例(学习日记)
  2. 利用Shell脚本将MySQL表中的数据转化为js
  3. MySQL十进制转化为二进制、八进制、十六
  4. 打印出不能正常工作的SQL查询结果[重复]
  5. SQL Server2012-SSIS的包管理和部署
  6. 如何判断如下的sql语句是否被正确执行了
  7. 第 5 章 MySQL 备份与恢复
  8. mysql笔记02:source命令导入大数据速度慢
  9. Mac下使用brew搭建PHP7+nginx+mysql开发
  10. shared pool原理,有AWR报告,主要是library