安卓图片框架:universal-image-loader的快速使用

在安卓开发过程中难免会遇到以下几个情况:

1、图片异步加载

2、图片缓存

3、图片显示

4、其它……(忘记了)

以上的这些情况,可能要自己去写不少代码去实现这些功能,而且对于一些新手,可能写了半天,发现效果很不理想、内存问题也处理不好、异步也不好控制(我就是这样)。所以搜了一下,发现网上最流行的一个安卓图片开源框架 universal-image-loader,亲自使用了一下,发现真是的好用啊!一共就加十几行代码就搞定了,妈妈再也不用担心我花时间去瞎搞八搞的了!

好了,下面来说说快速使用这个框架的步骤:

一、往工程的libs文件夹中添加 universal-image-loader-1.9.2-with-sources.jar 这个Jar包。点击这里可以直接下载哦!

二、新建一个 继承application的类,其中的代码看下面:

public class MyApplication extends Application {
	public void onCreate() {
		super.onCreate();
		initImageLoader(getApplicationContext());
	}

	public static void initImageLoader(Context context) {
		ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
				.threadPriority(Thread.MAX_PRIORITY).denyCacheImageMultipleSizesInMemory()
				.diskCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO)
				.writeDebugLogs() // Remove for release app
				.build();
		ImageLoader.getInstance().init(config);
	}

}

注意,这个application类要在menifest中的application标签中注明哦!就是下面这样:

<application

android:name="com.lee.example.MyApplication"

好了,添加完以上两步的内容,基本的框架环境就搭建好了,下面是如何使用它来加载网络图片:

先声明两个对象:

private DisplayImageOptions
options;

private ImageLoader
imageLoader;

然后在类的构造函数或者activity的increate方法中初始化它们:

imageLoader = ImageLoader.getInstance();

options =
new DisplayImageOptions.Builder()

.showImageOnLoading(null)//加载过程中显示的图片

.showImageForEmptyUri(null)//加载内容为空显示的图片

.showImageOnFail(null)//加载失败显示的图片

.cacheInMemory(true).cacheOnDisk(true).considerExifParams(true)

.bitmapConfig(Bitmap.Config.RGB_565).displayer(new FadeInBitmapDisplayer(388)).build();

下面是使用:

imageLoader.displayImage(imageFile,
imageView, options);

说明:

imageFile:图片的网络路径(也可以用本地的路径哦,详情看文末的框架github中文档说明)

imageView:就是图片控件哈~

就上面这么一句,太方便了哈!

框架的github地址:https://github.com/nostra13/Android-Universal-Image-Loader

小广告:关注微信公众号:“大大花猫” ,它是一个智能聊天机器人,可以回答各种问题,包括查询各种信息哦!它还可以进行人脸识别,只要发送一张人脸照片,就可以进行识别并回复出各种信息哦!它还有许多微信网页小游戏哦!还有更多精彩功能正在开发中! 快快关注吧!^ ^

时间: 2024-10-19 22:40:41

安卓图片框架:universal-image-loader的快速使用的相关文章

Android图片异步加载框架Universal Image Loader的源码分析

项目地址:https://github.com/nostra13/android-universal-image-loader 1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL. 简单的说 UIL 就做了一件事--获取图片并显示在相应的控件上. 1.2 基本使用 1.2.1 初始化 添加完依赖后在Application或Activity中初始化I

Android 使用图片异步加载框架Universal Image Loader的问题

使用的Jar包 问题:        optionsm = new DisplayImageOptions.Builder() .displayer(new RoundedBitmapDisplayer(20)) .build();   这里.displayer(new RoundedBitmapDisplayer(20))的时候设置圆角报错,.displayer(new SimpleBitmapDisplayer())这样正常显示图片就不报错. 版权声明:本文为博主原创文章,未经博主允许不得转

Android 使用图片异步载入框架Universal Image Loader的问题

使用的Jar包 问题:        optionsm = new DisplayImageOptions.Builder() .displayer(new RoundedBitmapDisplayer(20)) .build();   这里.displayer(new RoundedBitmapDisplayer(20))的时候设置圆角报错,.displayer(new SimpleBitmapDisplayer())这样正常显示图片就不报错.

Android中Universal Image Loader开源框架的简单使用

UIL (Universal Image Loader)aims to provide a powerful, flexible and highly customizable instrument for image loading, caching and displaying. It provides a lot of configuration options and good control over the image loading and caching process.(不知道

universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法

在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使用UIL遇到了这个问题,相信这个问题许多使用UIL的人都碰到过 现在把解决方法贴出来给有同样问题的朋友做参考 先看下UIL的工作流程 在已经允许内存,存储卡缓存的前提下,当一个图片被请求display时,首先要判断图片是否缓存在内存中,如果false则尝试从存储卡读取,如果依然不存在最后才从网络地址

Android 使用Universal Image Loader绘制带圆角的图片(一)

Android 使用Universal Image Loader绘制带圆角的图片(一) 绘制带圆角的控件难吗?貌似不难.对于一个普通layout或者widget,要绘制圆角,只要把 background设置成下面这样的drawable就行了. <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/and

Android Universal Image Loader 使用

1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL. 简单的说 UIL 就做了一件事--获取图片并显示在相应的控件上. 1.2 基本使用 1.2.1 初始化 添加完依赖后在Application或Activity中初始化ImageLoader,如下: public class YourApplication extends Application

Fresco图片框架内部实现原理探索

流行的网络框架 目前流行的网络图片框架: Picasso.Universal Image Loader.Volley的(ImageLoader.NetworkImageView).Glide和Fresco 简明的介绍下(具体细节和功能可看源码和wiki): 其中Picasso和Universal Image Loader相比其它的算是最轻量级的图片框架了,它们拥有较少的方法数,Universal Image Loader是这五个框架中定制性最强的,它内部实现还是按网络框架的套路走:HttpUrl

Android Universal Image Loader 架构剖析

简介 Android Universal Image Loader简称UIL, 其github链接https://github.com/nostra13/Android-Universal-Image-Loader, 它用于Android应用中的图片加载(从网络,本地文件,或资源文件),本地缓存(内存和磁盘), 以及展示在ImageView中. 示例 整体框架 各模块的流程图 Task流程: 下载流程: decode流程: cache流程: 主要类图: