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

  

Imageloarder的更多相关文章

随机推荐

  1. opencv3.0+VS2015+64位win7配置

    首先,我们把所有用到的工具下载下来 VS2015         看这里,http://news.mydrivers.com/1/439/439398.htm,我下载的是专业版. OPENCV3.0 ...

  2. JVM培训作业第二周

    1. jre的运行时主要jar文件rt.jar都很大,这导致了用java做的桌面客户端程序很难发布绑定jre发布.这在很大程度上限制了java桌面软件 的分发.可是,jre并不是在所有的用户计算机上都 ...

  3. php实现斐波那契数列以及由此引起的联想

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...

  4. php猴子称王或者约瑟夫难题

    问题描述: 一群猴子排成一圈,按1,2,...,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为 ...

  5. JavaScript:单选钮的事件处理

    单选按钮事件: 单选钮属于多选一的处理流程,但是单选钮由于也是HTML元素,所以对于JavaScript而言也表示对象. 注意:单选钮的特点是一定要需要名相同才可以实现,所以此处如果名字相同,那么就是 ...

  6. 求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m

    private static int fun(int m) { ; ; i <= m; i++) { == ) temp = temp + i; else temp = temp - i; } ...

  7. I2C实时时钟rx-8025板卡实际应用

    rx-8025是片外I2C实时时钟,其应用于9260板卡方法如下.总体思想是配置内核添加驱动(I2C驱动,内核已提供的很完备),板级文件添加设备,添加设备文件以应用程序操作. 1. 配置内核 1)I2 ...

  8. 第六篇 Integration Services:初级工作流管理

    本篇文章是Integration Services系列的第六篇,详细内容请参考原文. 简介在前几篇文章中,我们关注使用增量加载方式加载数据.在本篇文章,我们将关注使用优先约束管理SSIS控制流中的工作 ...

  9. WPF程序只运行一个实例

    1.WPF程序在 启动窗口的构造函数执行InitializeComponent之前判断是否已经存在实例 不涉及服务器情况,可直接进行判断(不在mainwindow的构造函数中判断) // public ...

  10. data type Migration from MySQL to PostgreSQL

    MySQL          PostgreSQL tinyint           smallint smallint          smallint mediumint      integ ...