ImageLoading图片加载

本文介绍了如何在Android应用中使用UniversalImageLoader库进行图片加载的配置,包括创建Application类,设置内存和SD卡缓存路径,指定内存缓存大小和线程池参数。同时展示了在BaseAdapter中如何配置ImageLoader显示图片。
摘要由CSDN通过智能技术生成

//创建Application类在配置文件中写name属性、要有写的权限

 

package com.bwie.imageloaer;

import android.app.Application;
import android.os.Environment;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import java.io.File;


public class MyApplication extends Application {


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


        String path = Environment.getExternalStorageDirectory()+"/1507D";

        File cacheDir = new File(path);

        //希望有缓存,指明缓存的路径
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
                //指明内存缓存要缓存多少*多少像素图片  480 * 800
                .memoryCacheExtraOptions(480,800)
                //指明线程优先级
                .threadPriority(100)
                //配置多少个线程在后台加载图片
                .threadPoolSize(3)
                //指明图片sdcard缓存,缓存到什么地方
                .diskCache(new UnlimitedDiskCache(cacheDir))
                //限定一下内存缓存的大小  在内存缓存当中缓存2MB的大小图片
                .memoryCacheSize(2 * 1024 * 1024)
                //在sdcard缓存多少MB的图片
                .diskCacheSize(50 * 1024 * 1024)
                //指明图片文件名(MD5) 为了避免有重复的图片
                .diskCacheFileNameGenerator(new Md5FileNameGenerator())
                .build();

        ImageLoader.getInstance().init(config);

 


    }
}

 

//baseAdapter中配置ImageLoad信息

 

package com.bwie.imageloader;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

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

import java.util.List;


public class MyBaseAdapter extends BaseAdapter {

    private Context context;
    private  List list;
    private  DisplayImageOptions options;

    public MyBaseAdapter(Context context,List list){
        this.context = context;
        this.list = list;


            options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .cacheOnDisk(true)
                .showImageForEmptyUri(R.mipmap.ic_empty)
                .showImageOnFail(R.mipmap.ic_error)
                .showImageOnLoading(R.mipmap.loading)
                .build();


    }


    @Override
    public int getCount() {
        return list != null ? list.size() : 0;
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {


        ViewHolder viewHolder = null;
        if(convertView == null){
            viewHolder = new ViewHolder();
            convertView = convertView.inflate(context,R.layout.item,null);
            viewHolder.ivIcon = (ImageView) convertView.findViewById(R.id.ivIcon);
            viewHolder.tvContent = (TextView) convertView.findViewById(R.id.tvContent);

            convertView.setTag(viewHolder);

        }else{

            viewHolder = (ViewHolder) convertView.getTag();

        }


        //设置文本信息以及图片加载
        viewHolder.tvContent.setText(list.get(position).getTitle());
        //加载图片
        ImageLoader.getInstance().displayImage(list.get(position).getImg(),viewHolder.ivIcon,options);

        return convertView;
    }


    class ViewHolder{

        ImageView ivIcon;
        TextView tvContent;

    }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值