vooley(二)
2016-02-20 21:10
246 查看
1. ImageRequest的用法
RequestQueue request=Volley.newRequestQueue(getContext());
ImageRequest imgReq=new ImageRequest("http://192.168.1.100/View.png", new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
img.setImageBitmap(response);
}
},0,0, Bitmap.Config.RGB_565, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
request.add(imgReq);
第一个参数就是图片的URL地址,这个没什么需要解释的。
第二个参数是图片请求成功的回调,这里我们把返回的Bitmap参数设置到ImageView中。
第三第四个参数分别用于指定允许图片最大的宽度和高度,如果指定的网络图片的宽度
或高度大于这里的最大值,则会对图片进行压缩,指定成0的话就表示不管图片有多
大,都不会进行压缩。
第五个参数用于指定图片的颜色属性,Bitmap.Config下的几个常量都可以在这里使
用,其中ARGB_8888可以展示最好的颜色属性,每个图片像素占据4个字节的大小,而
RGB_565则表示每个图片像素占据2个字节大小。第六个参数是图片请求失败的回调
这里我们当请求失败时在ImageView中显示一张默认图片。
2. ImageLoader的用法
RequestQueue request = Volley.newRequestQueue(getContext());
ImageLoader img = new ImageLoader(request, new ImageCache());
ImageLoader.ImageListener listener = ImageLoader.getImageListener((ImageView) view.findViewById(R.id.imgRequest),
R.mipmap.ic_launcher, R.mipmap.klogo2);
img.get("http://192.168.1.100/View.png", listener);
---------------------------------------------------------------------------------------------------------------------------------------
ImageLoader 第一个参数就是RequestQueue对象,第二个参数是一个ImageCache对象
ImageLoader 第一个参数指定用于显示图片的ImageView控件,第二个参数指定加载图片的过程中显示的图片,第三个参数指定加载图片失败的情况下显示的图片。
get()方法接收两个参数,第一个参数就是图片的URL地址,第二个参数则是刚刚获取到的ImageListener对象
想对图片的大小进行限制,也可以使用get()方法的重载,指定图片允许的最大宽度和高度 get("www.baidu.com",listener, 200, 200);
---------------------------------------------------------------------------------------------------------------------------------------
public class ImageCache implements ImageLoader.ImageCache {
private LruCache<String, Bitmap> mCache;
public ImageCache() {
int size = 10 * 1024 * 1024;//缓存的大小。
mCache = new LruCache<String, Bitmap>() {
@Override
protected int sizeOf(String key, Bitmap value) {
// 重写此方法来衡量每张图片的大小,默认返回图片数量。
int size=value.getRowBytes() * value.getHeight();
return size;
}
};
}
@Override
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
mCache.put(url,bitmap);
}
}
---------------------------------------------------------------------------------------------------------------------------------------------
getRowBytes 用于计算位图每一行所占用的内存字节数。
getByteCount 用于计算位图所占用的内存字节数。
当向 ImageView 中加载一张图片时,首先会在 LruCache 的缓存中进行检查。如果找到了相应的键值,则会立刻更新ImageView ,否则开启一个后台线程来加载这张图片。
RequestQueue request=Volley.newRequestQueue(getContext());
ImageRequest imgReq=new ImageRequest("http://192.168.1.100/View.png", new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
img.setImageBitmap(response);
}
},0,0, Bitmap.Config.RGB_565, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
request.add(imgReq);
第一个参数就是图片的URL地址,这个没什么需要解释的。
第二个参数是图片请求成功的回调,这里我们把返回的Bitmap参数设置到ImageView中。
第三第四个参数分别用于指定允许图片最大的宽度和高度,如果指定的网络图片的宽度
或高度大于这里的最大值,则会对图片进行压缩,指定成0的话就表示不管图片有多
大,都不会进行压缩。
第五个参数用于指定图片的颜色属性,Bitmap.Config下的几个常量都可以在这里使
用,其中ARGB_8888可以展示最好的颜色属性,每个图片像素占据4个字节的大小,而
RGB_565则表示每个图片像素占据2个字节大小。第六个参数是图片请求失败的回调
这里我们当请求失败时在ImageView中显示一张默认图片。
2. ImageLoader的用法
RequestQueue request = Volley.newRequestQueue(getContext());
ImageLoader img = new ImageLoader(request, new ImageCache());
ImageLoader.ImageListener listener = ImageLoader.getImageListener((ImageView) view.findViewById(R.id.imgRequest),
R.mipmap.ic_launcher, R.mipmap.klogo2);
img.get("http://192.168.1.100/View.png", listener);
---------------------------------------------------------------------------------------------------------------------------------------
ImageLoader 第一个参数就是RequestQueue对象,第二个参数是一个ImageCache对象
ImageLoader 第一个参数指定用于显示图片的ImageView控件,第二个参数指定加载图片的过程中显示的图片,第三个参数指定加载图片失败的情况下显示的图片。
get()方法接收两个参数,第一个参数就是图片的URL地址,第二个参数则是刚刚获取到的ImageListener对象
想对图片的大小进行限制,也可以使用get()方法的重载,指定图片允许的最大宽度和高度 get("www.baidu.com",listener, 200, 200);
---------------------------------------------------------------------------------------------------------------------------------------
public class ImageCache implements ImageLoader.ImageCache {
private LruCache<String, Bitmap> mCache;
public ImageCache() {
int size = 10 * 1024 * 1024;//缓存的大小。
mCache = new LruCache<String, Bitmap>() {
@Override
protected int sizeOf(String key, Bitmap value) {
// 重写此方法来衡量每张图片的大小,默认返回图片数量。
int size=value.getRowBytes() * value.getHeight();
return size;
}
};
}
@Override
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
mCache.put(url,bitmap);
}
}
---------------------------------------------------------------------------------------------------------------------------------------------
getRowBytes 用于计算位图每一行所占用的内存字节数。
getByteCount 用于计算位图所占用的内存字节数。
当向 ImageView 中加载一张图片时,首先会在 LruCache 的缓存中进行检查。如果找到了相应的键值,则会立刻更新ImageView ,否则开启一个后台线程来加载这张图片。
相关文章推荐
- 用wget递归下载网站 离线浏览
- [linux]linux命令学习-netstat
- Vooley(一)
- JAVA环境搭建
- ios中运行时学习笔记
- 冒泡排序
- Apache+PHP 搭建第三方源代码出错集
- IntelliJ IDEA 注册码
- ANDROID_MARS学习笔记_S03_006_geocoding、HttpClient
- canvas绘制
- 图像拉普拉斯金字塔(laplacian pyramid)并从金字塔重建原图 matlab程序实现
- ZOJ1025
- C#中毫米与像素的换算方法
- Android开发学习之路--网络编程之xml、json
- 最大字段和+最大子矩阵算法模板
- Android开发学习之路--网络编程之xml、json
- 2014年辛星解读Javascript之DOM之冒泡和捕获
- 在sdCard存图
- 字符串scanf,getchar,gets,printf,putchar输入输出小测试
- Apache Mesos:数据中心就是计算机