Volley实现图片的网络下载
来源:互联网 发布:航信开票软件下载 编辑:程序博客网 时间:2024/04/27 17:05
之前我们已经通过Volley从网络资源中下载东西了,那么Volley也可以从网络中获取网络图片等,在这里用两种方法可以实现下载图片。
第一种是用imageRequest图片请求队列来实现mageRequest imgRequest=new ImageRequest(url,listener,errorlistener);
url表示你访问的图片地址,listener表示访问成功的监听,errorlistener表示访问不成功的监听。这里的图片格式是Bitmap类型的,所以当获取到图片的网络地址时,用setImageBitmap()方法来显示在页面上。
ImageRequest imgRequest=new ImageRequest(
"http://photocdn.sohu.com/20140910/Img404194951.jpg",
new Listener<Bitmap>() {
@Override
public void onResponse(Bitmap arg0) {
img.setImageBitmap(arg0);
}
},
0, 0,
Config.ARGB_8888,
new ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
Toast.makeText(VolleyActivity.this,"网络已断开",Toast.LENGTH_LONG).show();
}
});
mRequestQuene.add(imgRequest);
第二种是用图片加载器imageLoader,首先由自定义一个图片缓冲器,来设置图片缓存的大小和格式。
public class BitMapCache implements ImageCache {
private LruCache<String, Bitmap> mCache;
public BitMapCache() {
super();
int maxSize=1024*1024*10;//创建了一个10M的缓存
mCache=new LruCache<String, Bitmap>(maxSize){
@Override
protected int sizeOf(String key, Bitmap value) {
return value.getRowBytes()*value.getHeight();//图片大小
}
};
}
@Override
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitMap) {
mCache.put(url,bitMap);
}
}
然后在主Activity里面定义全局变量private ImageLoader imageLoader;
并对它进行初始化imageLoader=new ImageLoader(mRequestQueue, new BitMapCache());
然后当有请求时,对它进行处理。ImageListener listener=ImageLoader.getImageListener()是给图片设了一个监听器,第一个变量表示图片加载之后显示在页面的位置,第二个变量时在加载时显示的图片,第三个变量表示图片加载失败是显示的图片。
然后通过get方法把网络资源和监听器绑定在一起。
ImageListener listener=ImageLoader.getImageListener(img, R.drawable.ic_launcher, R.drawable.help_detail1);
imageLoader.get("http://photocdn.sohu.com/20140910/Img404194951.jpg", listener);
- Volley实现图片的网络下载
- Volley的初级使用(从网络下载图片)
- 利用Volley来实现网络图片的加载
- 仅WiFi网络下载图片的实现
- Android - Volley的ImageLoader下载图片
- Volley的基本用法 使用Volley加载网络图片
- Android开发利用Volley框架下载和缓存网络图片
- Volley下载网络图片使用步骤级相关源码
- volley获取网络图片的一些方法
- 基于volley的获取网络图片
- 使用Volley下载图片
- volley请求网络图片
- Volley加载网络图片
- Volley加载网络图片
- Volley加载网络图片
- Volley加载网络图片
- volley框架配合后端服务器实现get post请求以及图片的上传和下载
- AsyncTask实现下载网络图片
- 【我是坑B我是坑B我是坑B我是坑B我是坑B我是坑B我是坑B我是坑B】
- unbuntu 更改主机名和IP地址
- 陶瓷电容损坏之后变成短路、电阻
- malloc函数和free函数
- The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working
- Volley实现图片的网络下载
- 归并排序
- Powerdesigner数据库建模工具教程
- WeakReference与SoftReference
- ARM core 介绍
- 让HTTP萌娘帮你记住状态码吧
- poj1144( 求割点数)
- 《Python 核心编程》之第三章习题 3.12
- 回顾数据库视频(select)