一、volley的介绍
volley是2013年Goole I/O大会上推出的一个新型的网络框架。他可以像AsyncHttpClient一样非常简单的进行通信,也可以像Universal-Image-Loader一样轻松的加载网络上的图片。他只适合数据量小,但通信频繁的操作。
二、ImageRequest的用法
在使用之前一定要确保在清单文件里加网络权限,和导入volley依赖。
通过ImageRequest发送请求一般需要三步:
1.创建一个请求队列RequestQueue;
2.创建ImageRequest对象
3.将请求对象添加到请求队列中
//要访问的网址
String url = "http://img.pcauto.com.cn/images/pcautogallery/modle/article/201712/22/15139408830118180_660.jpg ";
//队列
RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
//请求
ImageRequest image = new ImageRequest(url, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
iv.setImageBitmap(bitmap);
}
}, 0,0, Bitmap.Config.RGB_565,new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
//加入队列
requestQueue.add(image);
ImageRequest对象中,有五个参数。
第一个参数是目标服务器的URL地址
第二个参数是请求成功的回调
第三个第四个参数分别用于指定允许图片最大的宽度和高度,如果指定的网络图片的宽度或高度大于这里的最大值,则会对图片进行压缩,指定成0的话就表示不管图片有多大,都不会进行压缩
第五个参数就是请求失败的回调啦