您的位置:首页 > 其它

Image Loader的初步尝试

2016-04-24 17:41 337 查看
题外话:好久没来CSDN了,跟很久没写博客了,今天登录进来一看,都快忘记怎么用的了/(ㄒoㄒ)/~~还好排名还没有再次进入千里之外,不过阅读量增加了好多(两年以前的博文),是啊,贺老师又带了2届的学生了。从今以后,再次进军CSDN博客界。

学习安卓有那么一段时间了,今天初次接触ImageLoader加载网络上的图片。今天查了好多资料,一开始真的是一头雾水,不过看的也多了,基本模式也就掌握的差不多了。做一个最简单的示例,无非只需要3步:

1、引入jar包

      github上有很多,网上一搜就可以搜到

2、重写Application,并初始化配置

package com.buuyou.imageload;

import android.app.Application;

import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;

/**
* Created by Administrator on 2016/4/24.对imageloader进行配置
*/
public class MyApplication extends Application{
public static ImageLoader imageLoader=ImageLoader.getInstance();
@Override
public void onCreate() {
super.onCreate();
/*这种是图片没有缓存的配置方法
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();*/
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true)  //1.8.6包使用时候,括号里面传入参数true
.cacheOnDisc(true)    //1.8.6包使用时候,括号里面传入参数true
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())  //contex上下文,在activity里面填入 this即可
.defaultDisplayImageOptions(defaultOptions)
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();

imageLoader.getInstance().init(config);
}

}


3、imagview中显示图片

//不加这一句会提示:ImageLoader must be init with configuration before 且不显示图片
MyApplication.imageLoader.init(ImageLoaderConfiguration.createDefault(getActivity()));
//path为网络图片路径,pic为imageview
ImageLoader.getInstance().displayImage(path, pic);


感谢博文http://blog.sina.com.cn/s/blog_9ac333de0101gptn.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: