程序员人生 网站导航

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

栏目:互联网时间:2014-09-16 15:18:18

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

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


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


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐