NoHttp, OkHttp, Volley, Async-Http, xUtil, HttpClient, HttpURLConnection的比较

NoHttp和OkHttp哪个好用,Volley和NoHttp哪个好用?


QQ技术交流1群:46523908 
QQ技术交流2群:46505645 
NoHttp 源码及Demo: https://github.com/Y0LANDA/NoHttp

NoHttp是专门做Android网络请求与下载的框架。


开这篇博客也是不得已,NoHttp和OkHttp哪个好用?Volley和OkHttp哪个好用?NoHttp和Volley哪个好用?随着NoHttp的崛起,问这个问题的人是越来越多了,所以干脆来开一篇博客了。

OkHttp, HttpURLConnection, HttpClient

OkHttp、HttpConnection、HttpClient这三个家伙是对java来说的,三者的api是Java和Android都可以用的(随着Android6.0删除了HttpClient后,Android也不能使用HttpClient封装的框架了)。它们都是在做socket层的事情,做Android的都知道,Android请求网络需要的子线程发起,然后用handler把结果发送到主线程。用这三个家伙必须在子线程请求,还要自己封装参数、请求头、下载、传文件云云。

NoHttp、Volley、AsyncHttp、xUtil

NoHttp、Volley、Async-Http、xUtil的http模块,这几个家伙才是Android专用的,是不能用在Java的,它们不是在socket层做事情,不用去理睬socket,而是在上面三个家伙的基础上衍生的框架。不论传参数,传文件,等都做了不同程度的封装。都可以在主线程直接调用,拿到结果后也可以直接更新UI。

区别

那么最后再来说说前面说的区别。 
NoHttp、Volley、Async-Http、xUtil是一个平面的,OkHttp、HttpClient、HttpClient是一个平面的,对比的时候应该是说NoHttp和Volley哪个好用,OkHttp和HttpClient哪个好用。

到底哪个好用?

  • 如果要问NoHttp和Volley哪个好用,我推荐NoHttp,原因是NoHttp封装了:文件下载、断点续传、304缓存、302/303传参数、传文件、请求头、多文件上传、大文件上传、Cookie自动管理等多种功能,这些是Volley而没有,而且使用Volley需要我们去写很多代码做封装,而NoHttp直接可以用,不需再做二次开发,当然NoHttp的架构设计上是很方便开发做自己的封装的。

  • OkHttp和HttpURLConnection(HttpClient在Android6.0已完全弃用)之间,如果开发者自己封装自己的框架,我推荐OkHttp,这个框架也是Google官方推荐的。理由不在赘述,Google百度一大推。


NoHttp 源码及Demo https://github.com/Y0LANDA/NoHttp

你可能感兴趣的:(安卓)