Imageloarder

首先需要加载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;
	}
}

  

原文地址:https://www.cnblogs.com/jsonfan/p/5355501.html