`
sharong
  • 浏览: 484927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
D1667ae2-8cfc-3b68-ac7c-5e282789fa4a
论开源
浏览量:8449
7eb53364-fe48-371c-9623-887640be0185
Spring-data-j...
浏览量:12743
社区版块
存档分类
最新评论

使用Volley框架的ImageLoader加载网络图片

 
阅读更多
Volley框架在请求网络图片方面也做了很多工作,提供了好几种方法.本文介绍使用ImageLoader来进行网络图片的加载.
ImageLoader的内部使用ImageRequest来实现,它的构造器可以传入一个ImageCache缓存形参,实现了图片缓存的功能,同时还可以过滤重复链接,避免重复发送请求。
下面是ImageLoader加载图片的实现方法:
public void displayImg(View view){
	ImageView imageView = (ImageView)this.findViewById(R.id.image_view);
	RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext()); 
		
	ImageLoader imageLoader = new ImageLoader(mQueue, new BitmapCache());

	ImageListener listener = ImageLoader.getImageListener(imageView,R.drawable.default_image, R.drawable.default_image);
	imageLoader.get("http://developer.android.com/images/home/aw_dac.png", listener);
	//指定图片允许的最大宽度和高度
	//imageLoader.get("http://developer.android.com/images/home/aw_dac.png",listener, 200, 200);
}

使用ImageLoader.getImageListener()方法创建一个ImageListener实例后,在imageLoader.get()方法中加入此监听器和图片的url,即可加载网络图片.

下面是使用LruCache实现的缓存类
public class BitmapCache implements ImageCache {

	private LruCache<String, Bitmap> cache;

	public BitmapCache() {
		cache = new LruCache<String, Bitmap>(8 * 1024 * 1024) {
			@Override
			protected int sizeOf(String key, Bitmap bitmap) {
				return bitmap.getRowBytes() * bitmap.getHeight();
			}
		};
	}

	@Override
	public Bitmap getBitmap(String url) {
		return cache.get(url);
	}

	@Override
	public void putBitmap(String url, Bitmap bitmap) {
		cache.put(url, bitmap);
	}
}

最后,别忘记在AndroidManifest.xml文件中加入访问网络的权限
<uses-permission android:name="android.permission.INTERNET"/>

本文示例源代码下载地址:
http://download.csdn.net/detail/gaolu/7815527
1
0
分享到:
评论

相关推荐

    Volley-ImageLoader-Demo

    Volley框架的ImageLoader加载网络图片例程

    volley加载网络图片

    使用volley加载网络图片。可以直接加载,也可以使用ImageLoader、LruCache 也可以使用NetworkImageView

    Android框架Volley之利用Imageloader和NetWorkImageView加载图片的方法

    在这个布局当中我们将Volley框架的所有功能都做成了一个按钮,按下按钮之后就会在“显示结果”下面显示结果,显示结果下面使用了一个ScrollView,并在ScrollView下面嵌套了一个Textview和Imageview,用于把我们加载...

    深入剖析Android的Volley库中的图片加载功能

    Volley框架在请求网络图片方面也做了很多工作,提供了好几种方法.本文介绍使用ImageLoader来进行网络图片的加载. ImageLoader的内部使用ImageRequest来实现,它的构造器可以传入一个ImageCache缓存形参,实现了图片...

    Volley_ImageLoad_Test:Volley框架的使用-从网络获取图片

    Volley_ImageLoad_Test Volley框架的使用-从网络获取图片 1.缓存功能的简单介绍 LruCache ImageCache 2.加载网络图片及监听 ImageRequest ImageLoader NetworkImageView(或者普通的ImageView) ImageListener

    Volley的基本使用方法

    Volley的基本使用方法,如何封装Volley,如何利用Volley实现多文件上传,如何利用ImageLoader进行图片加载。

    Android Volley图片加载功能详解

    本来想分析Universal Image Loader的源码,但是发现Volley已经实现了网络图片的加载功能.其实,网络图片的加载也是分几个步骤: 1. 获取网络图片的url. 2. 判断该url对应的图片是否有本地缓存. 3. 有本地缓存,直接...

    设计简单的Android图片加载框架

    目前Android 发展至今优秀的图片加载框架太多,例如: Volley ,Picasso,Imageloader,Glide等等。但是作为程序猿,懂得其中的实现原理还是相当重要的,只有懂得才能更好地使用。于是乎,今天我就简单设计一个网络...

    Android-手写高并发图片加载框架

    手写高并发图片框架,参考 Glide,ImageLoader-universal,volley,facebook 框架等。采用优先级阻塞时队列,多线程并发获取图片。采用 Glide 的调用模式,简单易用。使用 DiskLruCache 和 LruCache 进行二级缓存。

    Android框架学习之Volley和Glide详解

    该框架封装的扩展性很强,支持OkHttp,Volley里面也封装了ImageLoader,自身作为图片加载框架,不过这块功能没有一些专门的图片加载框架强大,对于简单的需求可以使用,对于稍复杂点的需求还是需要用到专门的图片...

    Volley的基本用法

    主要介绍了Volley的基本用法,如何对Volley进行封装,如何利用Volley实现多文件上传,如何利用ImageLoader进行图片加载。

    详解Android 教你打造高效的图片加载框架

    优秀的图片加载框架不要太多,什么UIL , Volley ,Picasso,Imageloader等等。但是作为一名合格的程序猿,必须懂其中的实现原理,于是乎,今天我就带大家一起来设计一个加载网络、本地的图片框架。有人可能会说,自己...

    ImageAsyncLoader:它是一个 Image Async Loader 库,您可以加载本地图像文件或使用 url 下载在线图像

    依赖我使用“Cube ImageLoader”作为基础项目,使用 Volley 作为 HTTP 请求框架。职能1.异步加载本地图片文件2.异步加载带有url的网络图片。 (在这个项目中很容易学习如何构建一个最小的异步图像加载器框架/库,它...

    SharedLib:志在最便捷、最聪明的的app搭建方案

    [2]网络框架封装,涉及到Volley、OkHttp、RxJava、NoHttp和Retrofit等封装使用。[3]图片加载,包含缓存处理及优化,考虑到的框架包含ImageLoader、Picasso、Glide等。[4]基本数据处理及解析,其中json数据考虑使用...

Global site tag (gtag.js) - Google Analytics