美文网首页
市面上常见的网络框架(OKgo,Nohttp,xutils,vo

市面上常见的网络框架(OKgo,Nohttp,xutils,vo

作者: 残非 | 来源:发表于2019-10-19 13:01 被阅读0次

    1.okgo:

    该库是封装了okhttp的标准RESTful风格的网络框架,可以与RxJava完美结合,比Retrofit更简单易用。支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,可以自定义返回对象,支持Https和自签名证书,支持超时自动重连,支持cookie与session的自动管理,支持四种缓存模式缓存网络数据,支持301、302重定向,扩展了统一的上传管理和下载管理功能。

    1.支持的常用功能

    一般的 get,post,put,delete,head,options请求

    基于Post的大文本数据上传,postString(),postJson()等

    多文件和多参数统一的表单上传(允许监听上传进度)

    支持一个key上传一个文件,也可以一个Key上传多个文件

    大文件下载和下载进度回调

    大文件上传和上传进度回调

    支持cookie的内存存储和持久化存储,支持传递自定义cookie

    提供网络缓存功能,默认支持304缓存协议,并额外扩展了三种本地缓存模式

    支持301、302重定向

    支持链式调用

    支持可信证书和自签名证书的https访问

    支持根据Tag取消网络请求

    支持自定义泛型Callback,自动根据泛型返回对象

    具体详解:okgo 详解

    2.Nohttp

    NoHttp简介:

    NoHttp是一个Android开源网络框架,实现了RFC2616(Http1.1)协议,一个标准的Http框架。支持普通请求、文件的上传与下载、自动维持Cookie、支持RFC2616规定的所有请求方法(POST、GET、HEAD……)、支持Https(包括访问自签名网站)、支持请求优先级、支持请求与Activity联动、提供了五种缓存策略供开发者选择……

    请求和下载都是队列,平均分配每个线程的资源,支持多个请求并发。

    支持GET、POST、PUT、PATCH、HEAD、DELETE、OPTIONS、TRACE等请求协议。

    支持基于POST、PUT、PATCH、DELETE的文件上传(Html表单原理)。

    文件下载、上传下载、上传和下载的状态回调、错误回调。

    提供了五种数据缓存策略供开发者选择使用。

    支持自定义Request,利用NoHttp泛型可以解析成任何数据格式(String、Json、JavaBean等)。

    支持Session、Cookie的自动维持,App重启、关开机后还持续维持。

    支持Https、自签名网站Https的访问、支持Https双向验证。

    支持取消某个请求、取消指定多个请求、取消所有请求。

    支持重定向、多级别重定向。支持代理、支持Request的优先级。

    3、NoHttp是基于HttpURLConnection来封装的,它的优势在于封装的功能强大,性能也可以。简述如下:

    (1)支持HTTP/HTTPS,自动维持Cookie,异步/同步请求,大文件/多文件上传,文件下载,断点续传。

    (2)支持304缓存,302/303重定向,支持通过代理服务器访问地址。

    (3)NoHttp是队列,自动为请求排队,可以取消指定请求,可以取消队列所有请求,亦可以停止队列。

    (4)支持请求String、Bitmap、JsonObject、可自定义扩展请求类型(demo中的FastJsonRequest等)

    (5)API使用简单,Request对象包涵参数、文件、请求头等;Response对象包涵响应内容, 响应头等信息。

    具体使用方式:NoHttp详解

    3.xutils

    xUtils一个Android公共库框架,主要包括四个部分:View,Db, Http, Bitmap 四个模块。

    View模块主要的功能是通过注解绑定UI,资源,事件。

    Db模块是一个数据库orm框架, 简单的语句就能进行数据的操作。

    Http模块主要访问网络,支持同步,异步方式的请求,支持文件的下载。

    Bitmap模块是加载图片以及图片的处理, 支持加载本地,网络图片。而且支持图片的内存和本地缓存。

    详细介绍:xutils详解

    4.volley

    所谓Volley,它是2013年Google I/O上发布的一款网络框架,基于Android平台,能使网络通信更快,更简单,更健全。

    它的优点:

    (1)默认Android2.3及以上基于HttpURLConnection,2.3以下使用基于HttpClient;

    (2)符合Http 缓存语义 的缓存机制(提供了默认的磁盘和内存等缓存);

    (3)请求队列的优先级排序;

    (4)提供多样的取消机制;

    (5)提供简便的图片加载工具(其实图片的加载才是我们最为看重的功能);

    (6)一个优秀的框架。

    不足之处也有:

    它只适合数据量小,通信频繁的网络操作,如果是数据量大的,像音频,视频等的传输,还是不要使用Volley的为好

    2、Volley是Google基于HttpClient + HttpURLConnection来封装的,针对短、频、快的网络请求推出的一款框架。Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕

    详细介绍:Volley使用及其原理解析

    参考链接

    https://blog.csdn.net/u013347784/article/details/52618320

    相关文章

      网友评论

          本文标题:市面上常见的网络框架(OKgo,Nohttp,xutils,vo

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