1,介绍
-
Volley是什么?
-
2013年Google I/O大会上推出的网络请求和图片加载框架
-
其优点是api简单,性能优秀
-
非常适合数据量不大但是通信频繁的网络请求,而对于大数据量的操作,如文本下载,表现则没有那么好
-
Volley内部仍然是使用的HttpURLConnection和HttpClient进行网络请求的,只是对于不同的Android版本进行了响应的切换,2.3之前使用的HttpClient,2.3之后使用的是HttpURLConnection
-
-
为什么用Volley,相比XUtil,Volley解决了以下问题:
-
当用户finish当前的Activity的时候,而当前Activity正在进行网络请求,Volley支持取消网络请求
-
当用户旋转屏幕,Activity重新创建,那么同样的网络请求会从新发送,而Volley支持对重复的请求进行缓存
-
支持多样的网络请求返回封装
-
2,使用准备
【1】添加依赖和权限
-
添加依赖
compile 'com.android.volley:volley:1.0.0'
compile 'com.google.code.gson:gson:2.8.0'
-
添加网络请求权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
【2】Volley中的核心类
-
Request,请求类,有几个实现类
-
StringRequest:请求的时候直接回来一个String
-
JsonObjectRequest:请求的时候直接回来一个JsonObject
-
JsonArrayRequest:请求的时候直接回来一个JsonArray
-
ImageRequest:请求的时候直接回来一个Bitmap
-
自定义请求:一会我们会结合gson
-
-
RequestQueue:请求队列,用来执行Request的
-
ImageLoader:图片加载的类
-
NetWorkImageView:继承自ImageView,可以直接加载网络图片
3,实现逻辑
【1】Volley get请求
-
接口文档
-
get请求
private void volleyGet(