android volley详解

来源:互联网 发布:mac上有没有hgame 编辑:程序博客网 时间:2024/04/28 23:02

   首先给大家做一下volley介绍,主要解答2个问题,volley简介和特点以及我们为什么使用volley。volley是google在2013年推出的网络通信库,性能和优化做的非常好,高并发、效率以及性能高。总结一下volley的特点:1、通信更快,更简单,稳定性很高。2、Get、Post网络请求以及网络图像的高效率异步处理请求。3、排序,对不同的网络请求进行优先级处理。4、网络请求的缓存。5、多级别取消的请求。6、和activity生命周期联动。比如,在activity结束销毁的时候,结束网络请求操作。以上是volley的优点,当然,volley也有缺点,就是不适合上传和下载操作。为什么使用volley?高效的Get和Post方式的请求交互,网络图片的加载和缓存,而且性能稳定和强劲。

   下面说一下volley的Get和Post请求,首先选择一个合适的对象,volley有3种,分别是StringRequest、JosnObjectRequest、JsonArrayRequest。如果挑选呢?如果http返回的数据不确定是哪种类型,或者说可能是任何JosnObjectRequest或者JsonArrayRequest,或者其他类型,就可以用StringRequest。如果http返回的数据确定是JosnObjectRequest、JsonArrayRequest,就用JosnObjectRequest、JsonArrayRequest。volley回调,可以选择重试、失败等操作。

    volley的网络请求建立和取消请求,volley是通过请求队列进行管理请求的,我们可以选择取消某一个请求,或者取消整个队列的请求。建议volley建一个全局队列,方便整个APP管理请求。

    volley与activity的生命周期联动。可以在activity关闭时,关闭请求。给用户好的体验。通过设置Tag标签,在onStop()方法里面执行取消请求。通过Tag在整个队列里面找到,并取消请求。

   volley简单的二次回调封装。比方说,在请求开始,弹出对话框,在请求结束时弹出Toast以及对数据的处理。这个属于自己的封装,进行自己的逻辑处理。全局使用一个方式,可控,自定义定制需求。方便、灵活。

0 0