安卓端/course_mgmt_app/src/net/common/android/handler/ImageLoader.java

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package net.common.android.handler;

import java.io.File;
import java.io.IOException;
import java.lang.ref.SoftReference;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

import net.common.android.common.Constants;
import net.common.android.common.HttpHelper;
import net.common.android.common.ImageHelper;
import net.common.android.common.MD5Encoder;

import org.apache.http.HttpStatus;

import android.graphics.Bitmap;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.util.Log;


/**
 * @author hjgang
 */
public class ImageLoader {
	public static final String TAG = "ImageLoader";
	
	private final static ImageLoader imageLoader = new ImageLoader();
	
	private static ConcurrentHashMap<String, SoftReference<Bitmap>> imageCache = new ConcurrentHashMap<String, SoftReference<Bitmap>>();
	
	private static ThreadPoolExecutor threadPool = new ThreadPoolExecutor(6,30, 30L, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
	
	private ImageLoader(){}
	
	public static ImageLoader getInstance(){
	    return imageLoader;
	}
	
	public interface ImageCallback {
		/** 图片下载完成的回调方法 */
		public void imageLoaded(Bitmap bmp, String url);
	}
	
	public static void downloadBitmap(final String url){
		String destFileName = MD5Encoder.encode(url);
		File dest = new File(Constants.CACHE_DIR_IMAGE, destFileName);
		if(!dest.exists()){
			try {
				HttpHelper.download(url, dest);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
后面还有 152 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。