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

使用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

    在Android应用开发中,图片加载是常见的需求,Volley框架为此提供了ImageLoader组件,专门处理图片的加载、缓存和显示。下面我们将深入探讨Volley的ImageLoader组件及其工作原理。 1. **ImageLoader的基本概念** -...

    Volley-ImageLoader-Demo

    以下是一个简单的使用ImageLoader加载网络图片的示例: ```java // 初始化Volley RequestQueue RequestQueue queue = Volley.newRequestQueue(context); // 创建BitmapLruCache int maxMemory = (int) (Runtime....

    Volley ImageLoader

    // 使用ImageLoader加载图片 ImageLoader.ImageListener listener = ImageLoader.getImageListener(imageView, R.drawable.placeholder, R.drawable.error); imageLoader.get(imageUrl, listener); ``` ### 注意...

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

    本文将深入探讨如何使用Volley中的`ImageLoader`和`NetworkImageView`来加载网络图片。 首先,我们需要在项目的build.gradle文件中添加Volley库的依赖。在dependencies块中引入以下代码: ```groovy ...

    volley加载网络图片

    通过以上讲解,我们可以看到Volley在加载网络图片方面提供了多种方式,无论是简单直接的请求,还是利用`ImageLoader`和`LruCache`进行高效的缓存管理,甚至是使用`NetworkImageView`简化UI代码,都充分体现了Volley...

    Volley框架之网络请求和图片加载

    本篇文章将深入探讨Volley在网络请求和图片加载方面的应用。 一、Volley网络请求 1. GET请求: Volley通过`JsonObjectRequest`或`StringRequest`类处理GET请求。创建请求时,需要指定URL和请求方法,然后在`...

    volley框架的使用

    在你的压缩包中,可能包含了使用Volley的示例代码(Dome)和详细的说明文档,这可以帮助你更深入地理解和应用Volley框架。通过阅读这些示例和文档,你将能够了解如何处理不同类型的网络请求,如何配置缓存策略,以及...

    Android Volley框架使用实例

    - **图片加载**:Volley 的 ImageLoader 组件,能够无缝集成到网络请求流程中,自动处理图片的下载和缓存,支持多种尺寸的图片加载,减少内存消耗。 - **错误处理**:Volley 提供了统一的错误处理机制,方便开发者...

    ImageLoader框架加载图片于ListView上

    本文将深入探讨如何使用`ImageLoader`框架来加载图片,并将其高效地显示在ListView上。 `ImageLoader`是一个强大的图片加载库,它支持内存缓存和磁盘缓存机制,可以避免重复下载同一张图片,提高用户体验,减少网络...

    Android Volley框架之网络请求和图片加载.rar

    Android Volley框架是Google推出的一款高效的网络通信库,主要设计用于Android应用中的网络请求处理,尤其在处理小数据量和高频率的网络交互时表现出色。它优化了网络请求的性能,降低了延迟,提高了用户体验。...

    Volley加载网络图片到listView,自定义圆形图片

    总结一下,这个项目展示了如何使用Volley进行高效的网络图片加载,并结合自定义的CircleImageView实现圆形图片展示。在实际应用中,为了提高性能和用户体验,我们还需要考虑图片的尺寸和质量,避免加载过大或过高的...

    Android使用Google推荐的联网框架Volley,让连接网络更加简单

    6. **图片加载**:使用Volley的ImageLoader加载图片,需要先配置ImageLoader,并设置请求的Bitmap配置。 ```java ImageLoader imageLoader = new ImageLoader(requestQueue, new BitmapLruCache()); ...

    android图片加载框架imageloader源码+demo,配置好的,导入就可以直接运行

    Android图片加载框架ImageLoader是Android开发中非常关键的一个组件,它负责高效、优化地加载网络或本地资源中的图片。在Android应用中,由于内存限制和用户体验的要求,图片加载需要特别处理,防止OOM(Out of ...

    Volley框架的使用

    以上是Volley框架的基本使用和主要特点,学习并掌握这些知识点,将使你在处理Android应用的网络请求时更加得心应手。通过实践和深入理解Volley的工作原理,你将能够构建出高效、稳定的网络通信功能。

    android最新网络框架Volley使用实例

    Volley是Google为Android开发的一款高效的网络通信框架,它的设计目标是简化网络请求,并优化Android设备上的图片加载。Volley以其高效、灵活和易于使用的特性,成为许多Android开发者首选的网络库。 首先,我们来...

    安卓volley框架

    安卓Volley框架是一款由Google开发的网络通信库,专门针对Android平台优化,旨在提供高效、快速的网络请求处理。Volley的设计目标是简化常见的网络任务,例如加载图像、发送HTTP请求,并且它对异步处理和缓存策略...

    Android网络通信框架Volley

    - **ImageLoader**:用于加载图片,支持缓存和多种图片格式。 - **GsonRequest**:直接解析成Gson对象,简化了数据解析过程。 - **RetryPolicy**:自定义重试策略,增强网络请求的健壮性。 - **Timeouts**:设置...

    Android第三方开源框架ImageLoader的完美Demo.zip

    本压缩包“Android第三方开源框架ImageLoader的完美Demo.zip”提供了一个很好的示例,展示了如何利用开源库ImageLoader进行高效、异步的图片加载。以下将详细介绍ImageLoader的核心功能、工作原理以及它在实际应用中...

    volley框架大神做的demo(实现的非常好)

    在VolleyDemo中,你可以看到如何配置ImageLoader,以及如何在ImageView中使用NetworkImageView来异步加载图片,这将帮助你理解图片加载的最佳实践。 2. **各种Request请求** Volley支持GET、POST等多种HTTP请求...

Global site tag (gtag.js) - Google Analytics