package com.vencial.uil;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
public class ImageLoaderDemo {
private static ImageLoaderConfiguration configuration = null;
private static ImageTokenCallback imageTokenCallback = new ImageTokenCallback() {
@Override
public String getToken(String url) {
return ImageUtils.getToken(url, AppModel.getInstance().getImageKey());
}};
static {
Context context = Xiaoenai.getInstance().getApplicationContext();
File imageCacheDir = StorageUtils.getIndividualCacheDirectory(context);
int cacheSize = Math.round((1.0f / 6) * getMemoryClass(context) * 1024 * 1024);
if (cacheSize < 2 * 1024 * 1024) {
cacheSize = 2 * 1024 * 1024;//最小值是2M
} else {
cacheSize = 16 * 1024 * 1024;//最大值为16M
}
configuration = new ImageLoaderConfiguration.Builder(Xiaoenai.getInstance().getApplicationContext())
.threadPoolSize(3)
.threadPriority(Thread.MIN_PRIORITY)
.discCache(new UnlimitedDiscCache(imageCacheDir))
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.memoryCache(new UsingFreqLimitedMemoryCache(cacheSize))
.denyCacheImageMultipleSizesInMemory()
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();
ImageLoader.getInstance().init(configuration, imageTokenCallback);
}
/**
* 防盗逻辑,具体实现就如下方法即可。
* 此token在BaseImageDownloader的createConnection方法
* 放入Cookie里.
*
* @param url
* @param sigKey
* @return
*/
public static String getToken(String url,String sigKey) {
}
public static void showImageWithUrl(ImageView imageView, String url, Boolean resetViewBeforeLoading,ImageLoadingListener listener) {
DisplayImageOptions options;
options = new DisplayImageOptions.Builder()
.cacheOnDisc(true)
.resetViewBeforeLoading(resetViewBeforeLoading)
.cacheInMemory(true)
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
ImageLoader.getInstance().displayImage(url, imageView, options,listener);
}
}