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


NoHttp 源码及Demo托管在Github欢迎大家Star: 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托管在Github欢迎大家Star: https://github.com/Y0LANDA/NoHttp

-------

作者:严振杰
链接:https://www.zhihu.com/question/41736156/answer/111278791
好吧,我是NoHttp的作者,对于大家说的推广怎么怎么滴,比如在我的CSDN博客写教程啦,我的Github/NoHttp写ReadMe啦,我也建了关于Android QQ群供大家交流,这些都无可厚非吧。至于百度贴吧这个,当时就是提供一个供大家交流的平台,我后来也觉得确实没有必要,让大家不舒服的地方还清大家多多谅解下。总体上可能是因为自己做的确实不够好,在这里也给大家道个歉,sorry。
看到大家的支持了,感谢大家。同时也感谢所有不理解我的人,正是因为你们的指点我才能给大家带来更好的东西。从你们身上学到了很多,也确实成长了不少,以后我会更加努力分享好的内容给大家,希望能继续和大家交流。

NoHttp好像是国内 严振杰写的网络请求框架,google上除了一个基本的使用文档http://www.oschina.net/p/nohttp 基本上找不到完整api和说明文档。

我用使用了NoHttp是因为之前用的Volley不支持session的持久化,所以用了Nohttp,
总体上还是可以的,满足基本需求没问题,但是应该就技术支持上来说,比不了OkHttp。

NoHttp已经做得很不错了.我也是偶然机会看到了NoHttp然后调研了段时间之后在项目中使用了,我直接使用源码依赖,暂且不说 square公司 的那些产品,NoHttp已经足够足够满足日常的需求了,也没有很必要为了逼格去用什么Retrofit,
最重要的一点是,NoHttp的源码写的很清晰,从发起请求到响应回调都很清晰,一看就明了,这里要为作者点个赞,这个作品作者肯定花了很多时间迭代,学习NoHttp的源码还能学到一些其他的干货,比如队列啊,线程同步之类的知识,最后还是那句,你喜欢你就用,不喜欢也别乱抨击别人的作品。

NoHttp的源码在这里:GitHub - Y0LANDA/NoHttp:
支持HTTP/HTTPS, 自动维持Cookie, 异步/同步请求, 大文件/多文件上传, 文件下载; 支持304缓存, 302/303重定向, 支持代理服务器.
二者的区别如下:OkHttp、HttpURLConnection、HttpClient都是Java通用的,并且它们在做Socket相关的事。
而NoHttp、Volley、AsyncHttp是在前面三者的基础上做的封装,支持异步请求,
是只有Android才可以用的(如果有人非说不是,那就要修改不少源码在别的平台才能用)。
而NoHttp同时支持异步和同步,大文件、多文件上传;Cookie的自动管理,实现了和浏览器一样的标准的Cookie协议;还有Http缓存,比如304缓存,NoHttp还提供了几种缓存模式,比如1 缓存使用缓存没缓存才请求网络,2 有网络请求网络没有网络就使用缓存,3 仅仅使用网络,4 仅仅使用缓存等等。支持队列,支持和Activity、Fragment声明周期联动取消请求,支持请求String、Bitmap、Json、JavaBean,可自定义扩展请求类型。

至于发展前景很明了了,
NoHttp专门来做网络请求,不绑架开发者。NoHttp的Jar只有130k左右,没有使用第三方依赖,纯Android原生实现。
NoHttp的底层默认使用的URLConnection,但是Android4.4之后系统不是内置了OkHttp吗?
然后看源码后发现4.4以后的URLConnection使用OkHttp的接口去实现的,
所以NoHttp想当然的就是很不错的选择。
OkHttp还用说吗?大牛团队square出品,值得信赖。

------

转载于:https://www.cnblogs.com/awkflf11/p/5483264.html

框架--NoHttp和OkHttp哪个好用,Volley和NoHttp哪个好用?相关推荐

  1. 一个整合OkHttp 、Retrofit 、Volley 、RxJava、Novate多种开源网络框架的项目,高度的封装和集成,Android中Web网络请求一行代码解决

    一个整合OkHttp .Retrofit .Volley .RxJava.Novate多种开源网络框架的项目,高度的封装和集成,Android中Web网络请求一行代码解决 AndroidHttp 一个 ...

  2. 基于OkHttp 、Retrofit 、Volley 、RxJava、Novate多种网络框架整合的快速项目开发框架,一行代码实现Ftp文件上传、文件下载、文件删除和进度监听的工具类的使用

    基于OkHttp .Retrofit .Volley .RxJava.Novate多种网络框架整合的快速项目开发框架,Ftp文件上传.文件下载的工具类的使用. 依赖于Ftp的jar包,对上传.下载.删 ...

  3. Android网络库的比较:OkHTTP,Retrofit和Volley [关闭]

    本文翻译自:Comparison of Android networking libraries: OkHTTP, Retrofit, and Volley [closed] Two-part que ...

  4. Android 开源框架 ( 二 ) 基于OkHttp进一步封装的okhttp-utils介绍

    okhttp-utils是张鸿洋是基于OkHttp封装的框架库.实际工作中,使用的不多,对于小型项目的网络请求和文件传输可以考虑直接使用.否则还是基于主流的OkHttp+Retrift+RxJava框 ...

  5. OkHttp和Volley对比

    OkHttp 物理质量 使用OkHttp需要 okio.jar (80k), okhttp.jar(330k)这2个jar包,总大小差不多400k,加上自己的封装,差不多得410k. 功能介绍 Squ ...

  6. nohttp网络框架

    作者的博客地址:https://github.com/yanzhenjie Android Http 网络请求框架,封装于 NoHttp. Android实现Http标准协议框架,支持多种缓存模式,底 ...

  7. Android最火的框架系列(四)Volley

    其实,本来不想写Volley的,由于前面写了一篇如何使用Eclipse搭建Android服务端的博客,今天,我们尝试用Volley去访问一下.其实,Volley已经不算是很火的网络请求框架了,Voll ...

  8. 从源码角度学习Volley框架

    转载请标明出处:http://blog.csdn.net/newhope1106/article/details/53615398 虽然网上有很多文章是分析Volley框架的,不过博客的作用,一个是让 ...

  9. 开源框架Volley的使用《一》

    转载本专栏每一篇博客请注明转载出处地址,尊重原创.此博客转载链接地址:小杨的博客 http://blog.csdn.net/qq_32059827/article/details/52785378 本 ...

最新文章

  1. STRUTS2单元测试
  2. Redis集群:redis cluster方案
  3. Linux 应用程序开发入门
  4. ios git解决冲突_适用于iOS和Linux的远程同步解决方案:Git和工作副本
  5. 华为机试HJ8:合并表记录
  6. mysql replace into +1_mysql replace into用法详细说明
  7. cropper初始化_【jQuery插件分享】Cropper——一个简单方便的图片裁剪插件
  8. 史上最全的程序员求职渠道总结
  9. pixi.js淘宝小程序快速上手指南
  10. Google at KDD 2020,提出MoSE框架显式建模用户行为序列提升多任务学习效果
  11. proxyconnect tcp: dial tcp: lookup proxy.example.com on 8.8.8.8:53: no such host
  12. 异步4月新书,送出一本你爱的!
  13. 基于帕累托的多目标遗传算法优化的原理与 Python 实现
  14. 基于肤色高斯概率模型的人脸检测
  15. ipad好用的思维导图软件有哪些
  16. 一维区间上高斯数值积分的MATLAB实现
  17. keyshot聚光灯_KeyShot 6使用技巧
  18. 高效学习的 36 种思维
  19. docsify学习笔记
  20. Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation(CVPR20)

热门文章

  1. JSON开发详解-张晨光-专题视频课程
  2. Redis应用案例 查找某个值的范围
  3. opencv图像的基础操作
  4. pandas使用笔记大全
  5. Scala可变参数列表,命名参数和参数缺省
  6. arcgis api for javascript从地图如何读取要素
  7. ThreadLoacl,InheritableThreadLocal,原理,以及配合线程池使用的一些坑
  8. AMFPHP快速入门
  9. 2015-01-14
  10. getchar()和EOF