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
分享到:
相关推荐
在Android应用开发中,图片加载是常见的需求,Volley框架为此提供了ImageLoader组件,专门处理图片的加载、缓存和显示。下面我们将深入探讨Volley的ImageLoader组件及其工作原理。 1. **ImageLoader的基本概念** -...
以下是一个简单的使用ImageLoader加载网络图片的示例: ```java // 初始化Volley RequestQueue RequestQueue queue = Volley.newRequestQueue(context); // 创建BitmapLruCache int maxMemory = (int) (Runtime....
// 使用ImageLoader加载图片 ImageLoader.ImageListener listener = ImageLoader.getImageListener(imageView, R.drawable.placeholder, R.drawable.error); imageLoader.get(imageUrl, listener); ``` ### 注意...
本文将深入探讨如何使用Volley中的`ImageLoader`和`NetworkImageView`来加载网络图片。 首先,我们需要在项目的build.gradle文件中添加Volley库的依赖。在dependencies块中引入以下代码: ```groovy ...
通过以上讲解,我们可以看到Volley在加载网络图片方面提供了多种方式,无论是简单直接的请求,还是利用`ImageLoader`和`LruCache`进行高效的缓存管理,甚至是使用`NetworkImageView`简化UI代码,都充分体现了Volley...
本篇文章将深入探讨Volley在网络请求和图片加载方面的应用。 一、Volley网络请求 1. GET请求: Volley通过`JsonObjectRequest`或`StringRequest`类处理GET请求。创建请求时,需要指定URL和请求方法,然后在`...
在你的压缩包中,可能包含了使用Volley的示例代码(Dome)和详细的说明文档,这可以帮助你更深入地理解和应用Volley框架。通过阅读这些示例和文档,你将能够了解如何处理不同类型的网络请求,如何配置缓存策略,以及...
- **图片加载**:Volley 的 ImageLoader 组件,能够无缝集成到网络请求流程中,自动处理图片的下载和缓存,支持多种尺寸的图片加载,减少内存消耗。 - **错误处理**:Volley 提供了统一的错误处理机制,方便开发者...
本文将深入探讨如何使用`ImageLoader`框架来加载图片,并将其高效地显示在ListView上。 `ImageLoader`是一个强大的图片加载库,它支持内存缓存和磁盘缓存机制,可以避免重复下载同一张图片,提高用户体验,减少网络...
Android Volley框架是Google推出的一款高效的网络通信库,主要设计用于Android应用中的网络请求处理,尤其在处理小数据量和高频率的网络交互时表现出色。它优化了网络请求的性能,降低了延迟,提高了用户体验。...
总结一下,这个项目展示了如何使用Volley进行高效的网络图片加载,并结合自定义的CircleImageView实现圆形图片展示。在实际应用中,为了提高性能和用户体验,我们还需要考虑图片的尺寸和质量,避免加载过大或过高的...
6. **图片加载**:使用Volley的ImageLoader加载图片,需要先配置ImageLoader,并设置请求的Bitmap配置。 ```java ImageLoader imageLoader = new ImageLoader(requestQueue, new BitmapLruCache()); ...
Android图片加载框架ImageLoader是Android开发中非常关键的一个组件,它负责高效、优化地加载网络或本地资源中的图片。在Android应用中,由于内存限制和用户体验的要求,图片加载需要特别处理,防止OOM(Out of ...
以上是Volley框架的基本使用和主要特点,学习并掌握这些知识点,将使你在处理Android应用的网络请求时更加得心应手。通过实践和深入理解Volley的工作原理,你将能够构建出高效、稳定的网络通信功能。
Volley是Google为Android开发的一款高效的网络通信框架,它的设计目标是简化网络请求,并优化Android设备上的图片加载。Volley以其高效、灵活和易于使用的特性,成为许多Android开发者首选的网络库。 首先,我们来...
安卓Volley框架是一款由Google开发的网络通信库,专门针对Android平台优化,旨在提供高效、快速的网络请求处理。Volley的设计目标是简化常见的网络任务,例如加载图像、发送HTTP请求,并且它对异步处理和缓存策略...
- **ImageLoader**:用于加载图片,支持缓存和多种图片格式。 - **GsonRequest**:直接解析成Gson对象,简化了数据解析过程。 - **RetryPolicy**:自定义重试策略,增强网络请求的健壮性。 - **Timeouts**:设置...
本压缩包“Android第三方开源框架ImageLoader的完美Demo.zip”提供了一个很好的示例,展示了如何利用开源库ImageLoader进行高效、异步的图片加载。以下将详细介绍ImageLoader的核心功能、工作原理以及它在实际应用中...
在VolleyDemo中,你可以看到如何配置ImageLoader,以及如何在ImageView中使用NetworkImageView来异步加载图片,这将帮助你理解图片加载的最佳实践。 2. **各种Request请求** Volley支持GET、POST等多种HTTP请求...