欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ImageLoder的使用

程序员文章站 2024-03-17 11:07:28
...

ImageLoder的使用方法:

1.在libs文件夹上添加jar包,并添加 ——> Add As Library
2.添加下方的MyApp类,注意继承入口函数要自己打,并手动打onCreate方法,其余的复制方法并手动导包
3.在清单文件(AndroidManifest.xml)里注册如下 ——>

<application android:name=".MyApp"></application>

4.在适配器里面通过以下语句在控件里显示图片 ImageLoader.getInstance().displayImage(图片地址,找到的图片控件, 在MyApp里书写的方法); 例子: ImageLoader.getInstance().displayImage(list.get(i).getUserImg(),hold.img, MyApp.getDefaultDisplayOption());

—————-分割线—————————
//下方是MyApp类
—————-分割线—————————

package com.example.xlistview;

import android.app.Application;
import android.graphics.Bitmap;

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 java.io.File;

/**
 * Created by 墨鸦 on 2017/10/13.
 */

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //storage/sdcard/data/<package>/cache
        //sd/mycache/
        File cacheDir=this.getExternalCacheDir();//自定义缓存路径

        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this)
                .memoryCache(new LruMemoryCache(2 * 1024 * 1024))//设置内存缓存区大小
                .memoryCacheSize(10 * 1024 * 1024)//设置缓存区大小
                .memoryCacheExtraOptions(520,520)//缓存图片最大的宽度与高度 px
                .diskCacheSize(50*1024*1024)//设置sd卡缓存的空间大小
                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//sd卡缓存图片的命名 使用md5加密方式
                .diskCache(new UnlimitedDiscCache(cacheDir))//自定义sd卡的缓存路径
                .diskCacheFileCount(100)//缓存文件的最大数量
                .writeDebugLogs()//写入日志
                .threadPoolSize(3)//线程池
                .build();
        //对imageLoader进行初使化

        ImageLoader.getInstance().init(configuration);
    }
    public final static DisplayImageOptions getDefaultDisplayOption() {
        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)//进行内存缓存
                .cacheOnDisk(true)//进行sd卡缓存
                .showImageOnLoading(R.drawable.ic_stub) // 设置正在下载中的图片
                .showImageForEmptyUri(R.drawable.ic_empty) //没有请求地址时
                .showImageOnFail(R.drawable.ic_error)//下载错误时
                .bitmapConfig(Bitmap.Config.RGB_565).build();

        //设置图片质量build(); // 创建配置过得DisplayImageOption对象
        return options;
    }
}
相关标签: android