图片下载器类
/*** Created by Administrator on 2017/3/24.* 圖片異步下載類*/public class AsyncImageLoader {private HashMap<String, SoftReference<Drawable>> imageCache;public AsyncImageLoader() {imageCache = new HashMap<String, SoftReference<Drawable>>();}public Drawable loadDrawable(final String imageUrl, final ImageCallback imageCallback) {if (imageCache.containsKey(imageUrl)) {SoftReference<Drawable> softReference = imageCache.get(imageUrl);Drawable drawable = softReference.get();if (drawable != null) {return drawable;}}final Handler handler = new Handler() {public void handleMessage(Message message) {imageCallback.imageLoaded((Drawable) message.obj, imageUrl);}};new Thread() {@Overridepublic void run() {Drawable drawable = loadImageFromUrl(imageUrl);imageCache.put(imageUrl, new SoftReference<Drawable>(drawable));Message message = handler.obtainMessage(0, drawable);handler.sendMessage(message);}}.start();return null;}public static Drawable loadImageFromUrl(String url) {URL m;InputStream i = null;try {m = new URL(url);i = (InputStream) m.getContent();} catch (MalformedURLException e1) {e1.printStackTrace();} catch (IOException e) {e.printStackTrace();}Drawable d = Drawable.createFromStream(i, "src");return d;}public interface ImageCallback {public void imageLoaded(Drawable imageDrawable, String imageUrl);}}
傳入圖片地址,和自己帶的回調(diào)接口,采用接口回調(diào)方式返回圖片Drawable
轉(zhuǎn)載于:https://www.cnblogs.com/fengfenghuifei/p/6835357.html
總結(jié)
- 上一篇: win7_64
- 下一篇: MySQL系列:innodb源代码分析之