首先需要加载jar包,和在配置文件中配置
Mainactivity.java
package com.baidu.day13_2imageloader; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import android.os.Bundle; import android.app.Activity; import android.graphics.Bitmap; import android.view.Menu; import android.view.View; import android.widget.ImageView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String uri="http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"; //加载xml文件 setContentView(R.layout.activity_main); //找到所需控件 ImageView iv=(ImageView) findViewById(R.id.image); //通过网络加载图片 ImageLoader.getInstance().displayImage(uri, iv, new ImageLoadingListener() { @Override public void onLoadingStarted(String arg0, View arg1) { // TODO Auto-generated method stub } @Override public void onLoadingFailed(String arg0, View arg1, FailReason arg2) { // TODO Auto-generated method stub } @Override public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) { // TODO Auto-generated method stub } @Override public void onLoadingCancelled(String arg0, View arg1) { // TODO Auto-generated method stub } }); } }
Application
package com.baidu.day13_2imageloader; import java.io.File; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.assist.QueueProcessingType; import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; import android.app.Application; import android.os.Environment; public class MyImageLoader extends Application { // 重写方法 @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); String sdpath = Environment.getDownloadCacheDirectory().getPath(); ImageLoaderConfiguration ilc = new ImageLoaderConfiguration.Builder( this) // 缓存文件的最大长宽 .memoryCacheExtraOptions(200, 300) // 本地缓存的详细信息 .diskCacheExtraOptions(100, 200, null) // 线程池内加载的数量 .threadPoolSize(3) // 任务处理的顺序 .tasksProcessingOrder(QueueProcessingType.FIFO) // 设置内存缓存大小 .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) // 设置缓存路径 .diskCache( new UnlimitedDiscCache(new File(sdpath + "1407A/image"))) // 不使用默认的 .defaultDisplayImageOptions(getoptions()) // 设置加密模式 .diskCacheFileNameGenerator(new Md5FileNameGenerator()) .writeDebugLogs().build(); // 初始化 ImageLoader.getInstance().init(ilc); } public static DisplayImageOptions getoptions() { // 自定义配置信息 DisplayImageOptions dio = new DisplayImageOptions.Builder() // 图片下载期间现实的图片 .showImageOnLoading(R.drawable.ic_launcher) // 图片为空,发省错误显示的图片 .showImageForEmptyUri(R.drawable.ic_launcher) // 图片解码构成中发生的错误 .showImageOnFail(R.drawable.ic_launcher) // 图片加载前是否重置。复位 .resetViewBeforeLoading(false) // 下载前的延迟时间 .delayBeforeLoading(3000) // 下载图片是否报存内存卡 .cacheInMemory(false) // 下载图片是否缓存在sd卡 .cacheOnDisk(false) // 设置图片的显示比例 .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // 设置图片的圆角半径 .displayer(new RoundedBitmapDisplayer(175)) // 设置图片的透明度 // .displayer(new FadeInBitmapDisplayer(3000)) .build(); return dio; } }