volly网络框架

volly网络框架,第1张

什么是volly框架

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

//他的优点

1)默认Android2.3及以上基于HttpURLConnection,2.3以下使用基于HttpClient;(2)符合Http 缓存语义 的缓存机制(提供了默认的磁盘和内存等缓存);(3)请求队列的优先级排序;(4)提供多样的取消机制;(5)提供简便的图片加载工具)

缺点就是  如果传输量大就不能使用volly  因为他属于轻量级的框架  他只适合网络通信频繁  并且数据量小的数据

怎么使用

1导入依赖

 implementation 'com.mcxiaoke.volley:library:1.0.19'

先请求一个对列  Volly.newRequest(?)

一定要在清单文件中注册

再请求http中的request对象  Stringrequest  有一个成功respone方法和onerro失败的方法

然后将这个对象放入队列中   

通过什么方式让外界拿到呢   那我就通过接口回调吧

Volley 现在虽然比较少用了,但有些老项目还是有在使用,新项目一般都是使用OkHttp,Volley在Android 2.3以上使用的是 HttpURLConnection ,而2.3以下则是使用 HttpClient 实现,而 HttpClient 在Andoid6.0时已经被废弃了,但Volley内部是统一返回HttpClient的响应类的,所以还是需要加上HttpClient的依赖。

OkHttp 拥有比 HttpURLConnection 和 HttpClient 更好的性能,而 Volley 可以兼容 HttpURLConnection 和 HttpClient ,那是否可以兼容 OkHttp 呢?如果可以兼容,那以前使用 Volley 的请求,将拥有更好的性能

答案是可以的!经过上一篇 Volley 源码分析 ,我们知道Volley的兼容不同的网络请求框架是通过一个 HttpStack 接口来实现的,不同的网络请求框架只要创建一个实现类,在创建请求队列 Volley.newRequestQueue(context, stack) 的时候传入即可,这种模式叫策略模式,通过一个接口来解耦具体的网络请求框架,不同框架的具体实现逻辑都内聚在具体实现类中。

Volley只是一个网络请求工具框架,并不是底层的网络请求实现,所以Volley对标的是例如Retrofit、OkGo、RxHttp等,他们是封装了底层的网络请求实现的上层框架

底层网络请求实现,一般有HttpURLConnection、HttpClient还有OkHttp,它们一般是使用Socket来对Http协议进行实现,所以更加底层

简单来回顾一下 HttpStack 接口,HttpStack接口内只有一个 performRequest() 方法,该方法在子线程中回调,所以需要进行同步网络请求,返回统一的HttpResponse响应实例即可

创建一个类 OkHttpStack ,使用OkHttp发起请求的具体实现都在该类中,具体要复写 performRequest() 方法,具体做了以下几件事:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7889409.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存