美文网首页
Android 的 HTTP Client 的使用

Android 的 HTTP Client 的使用

作者: 梦沉薇露 | 来源:发表于2016-04-11 11:26 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Android 的 HTTP Client 的使用

          本文链接:https://www.haomeiwen.com/subject/ekkilttx.html