ImageLoader的使用

要使ImageLoader先要从网上下载imageloader的jar包导入项目中。然后重写application,并初始化配置

public class GAPP extends Application {
	
	public static Context sContext;

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
		sContext = getApplicationContext();
		//图片管理类
		ImageManager.init(getApplicationContext());
	}
	
}

在清单文件中设置权限

<uses-permission android:name="android.permission.INTERNET" />  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
<application
        android:name="yong.desk.weather.GAPP"

图片管理类

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.widget.ImageView;

import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
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.QueueProcessingType;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.weather.forecast.R;

public class ImageManager {

	private static final DisplayImageOptions options = new DisplayImageOptions.Builder()
			// R.drawable.default_image默认图片
			.showImageOnLoading(R.drawable.default_image)
			.showImageForEmptyUri(R.drawable.default_image)
			.showImageOnFail(R.drawable.default_image).cacheInMemory(true)
			.cacheOnDisc(false).considerExifParams(true)
			.bitmapConfig(Bitmap.Config.RGB_565).build();

	public static void init(Context context) {
		ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
				context)
				.memoryCacheExtraOptions(480, 800)
				.discCacheExtraOptions(480, 800, CompressFormat.PNG, 75, null)
				.threadPoolSize(5)
				.threadPriority(Thread.MIN_PRIORITY + 4)
				// 一次性加载几张图片
				.tasksProcessingOrder(QueueProcessingType.FIFO)
				.denyCacheImageMultipleSizesInMemory()
				.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
				.discCacheSize(50 * 1024 * 1024) // 缓冲大小
				.discCacheFileNameGenerator(new HashCodeFileNameGenerator()) // default
				.imageDownloader(new BaseImageDownloader(context)) // default
				.build();
		ImageLoader.getInstance().init(config);
	}

	/**
	 * 
	 * @param uri
	 *       ("http://site.com/image.png",
	 *        "file:///mnt/sdcard/image.png",
	 *        "drawable://R.drawable.bg_cloudy_day")
	 * @param imageView
	 */
	public static void loadImage(String uri, ImageView imageView) {
		ImageLoader.getInstance().displayImage(uri, imageView, options);
	}

}

具体的调用

//本地图片显示getImagePath(position)为本地图片的路径,holder.image为imageView控件
ImageManager.loadImage("file://" + getImagePath(position),
						holder.image);
//资源图片显示mImages[position]为资源图片的路径,holder.image为imageView控件
ImageManager.loadImage("drawable://" + mImages[position],
						holder.image);
//网络图片显示url[position]为网络图片的地址,holder.image为imageView控件
ImageManager.loadImage(url[position],holder.image);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值