ImageLoaderTest

package com.example.imageloadertest;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {

private ListView lv;
private String[] imageData;
private DisplayImageOptions options;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    lv = (ListView) findViewById(R.id.listView1);
    imageData=Constants.images;

    //设置DisplayImageOptions
    DisplayImageOptions.Builder builder=new DisplayImageOptions.Builder();

    builder.showImageForEmptyUri(R.drawable.ic_empty);
    builder.showImageOnFail(R.drawable.ic_error);
    builder.showImageOnLoading(R.drawable.ic_stub);

    builder.cacheInMemory(true);
    builder.cacheOnDisc(true);

    builder.displayer(new RoundedBitmapDisplayer(20)); // 设置成圆角图片
    options=builder.build();
    lv.setAdapter(new MyAdapter());

}

class MyAdapter extends BaseAdapter{

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return imageData.length;
    }

    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int arg0, View arg1, ViewGroup arg2) {
        ViewHolder holder;
        if(arg1==null){
            holder=new ViewHolder();

            arg1=View.inflate(MainActivity.this, R.layout.lv_item, null);

            holder.img=(ImageView) arg1.findViewById(R.id.imageView1);
            holder.tvv=(TextView) arg1.findViewById(R.id.textView1);

            arg1.setTag(holder);

        }else{
            holder=(ViewHolder) arg1.getTag();
        }
        holder.tvv.setText("item"+arg0);

        //加载图片
        ImageLoader.getInstance().displayImage(imageData[arg0], holder.img, options);

        return arg1;
    }

    class ViewHolder{
        private ImageView img;
        private TextView tvv;
    }

}

}
///
package com.example.imageloadertest;

import java.io.File;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;

import android.app.Application;

public class MyApplication extends Application{

@Override
public void onCreate() {
    super.onCreate();

    //1.创建ImageLoaderConfiguration
    ImageLoaderConfiguration.Builder builder=new ImageLoaderConfiguration.Builder(getApplicationContext());


    builder.threadPoolSize(3);//设置线程池的数量
    builder.threadPriority(Thread.NORM_PRIORITY-2);//设置线程的优先级

    builder.memoryCacheSize(2*1024*1024);//设置缓存空间2M(内存中)
    builder.memoryCacheExtraOptions(480, 800);// 设置缓存中内存图片的宽高

    builder.diskCacheSize(50*1024*1024);//设置缓存空间50M(磁盘中)
    builder.diskCache(new UnlimitedDiscCache(new File("")));//自定义文件的缓存路径
    builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());//磁盘缓存的文件名的命名方式//一般使用默认值 (获取文件名称的hashcode然后转换成字符串)或MD5 new Md5FileNameGenerator()源文件的名称同过md5加密后保存

    builder.denyCacheImageMultipleSizesInMemory();//加载同一URL图片时,imageView从小变大时,从内存缓存中加载
    builder.tasksProcessingOrder(QueueProcessingType.LIFO);


    ImageLoaderConfiguration config=builder.build();

    //2.初使化ImageLoader
    ImageLoader.getInstance().init(config);

}

}
///
package com.example.imageloadertest;

public class Constants {

public static final String IMAGES = "CONSTANTS.IMAGES";
public static final String IMAGE_POSITION = "CONSTANTS.IMAGE_POSITION";

public static final String[] images = new String[] {
        "http://cdn.duitang.com/uploads/blog/201308/18/20130818150526_Ru2Bk.thumb.600_0.png",
        "http://www.bkill.com/u/info_img/2012-09/02/2012083116140522302.jpg",
        "http://www.it165.net/uploadfile/2011/1218/20111218070928328.jpg",
                "http://www.meilinvsheng.com/upload_files/article/135/1_20121202211215_fnoal.jpg"
};

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值