Imageloarder

时间:2022-12-08 15:12:45
首先需要加载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;
}
}

  

相关文章