Android之Glide获取图片Path和Glide获取图片Bitmap

来源:互联网 发布:ubuntu vim配置文件 编辑:程序博客网 时间:2024/06/05 19:31

今天主要研究了Glide获取图片Path、Bitmap用法,相信也困扰了大家很久,我在网上也找了很久,基本没有,后来研究了下,也参考了下api文档,总结了以下几个方式:

1. 获取Bitmap:

1)在图片下载缓存好之后获取

[java] view plain copy
  1. Glide.with(mContext).load(url).asBitmap().into(new SimpleTarget<Bitmap>() {  
  2.                 @Override  
  3.                 public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {  
  4.                     image.setImageBitmap(resource);  
  5.                 }  
  6.             }); //方法中设置asBitmap可以设置回调类型  

上面是简单方法,下面有全面的方法,可以完美控制:

[java] view plain copy
  1. Glide.with(mContext).load(url).asBitmap().into(new Target<Bitmap>() {  
  2.                 @Override  
  3.                 public void onLoadStarted(Drawable placeholder) {  
  4.                       
  5.                 }  
  6.   
  7.                 @Override  
  8.                 public void onLoadFailed(Exception e, Drawable errorDrawable) {  
  9.   
  10.                 }  
  11.   
  12.                 @Override  
  13.                 public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {  
  14.                      //TODO set bitmap  
  15.                 }  
  16.   
  17.                 @Override  
  18.                 public void onLoadCleared(Drawable placeholder) {  
  19.   
  20.                 }  
  21.   
  22.                 @Override  
  23.                 public void getSize(SizeReadyCallback cb) {  
  24.   
  25.                 }  
  26.   
  27.                 @Override  
  28.                 public void setRequest(Request request) {  
  29.   
  30.                 }  
  31.   
  32.                 @Override  
  33.                 public Request getRequest() {  
  34.                     return null;  
  35.                 }  
  36.   
  37.                 @Override  
  38.                 public void onStart() {  
  39.   
  40.                 }  
  41.   
  42.                 @Override  
  43.                 public void onStop() {  
  44.   
  45.                 }  
  46.   
  47.                 @Override  
  48.                 public void onDestroy() {  
  49.   
  50.                 }  
  51.             });  
2)通过url获取

[java] view plain copy
  1. Bitmap myBitmap = Glide.with(applicationContext)  
  2.     .load(yourUrl)  
  3.     .asBitmap() //必须  
  4.     .centerCrop()  
  5.     .into(500500)  
  6.     .get()  

2. 获取图片缓存路径

[java] view plain copy
  1. FutureTarget<File> future = Glide.with(mContext)  
  2.                     .load("url")  
  3.                     .downloadOnly(500500);  
  4.             try {  
  5.                 File cacheFile = future.get();  
  6.                 String path = cacheFile.getAbsolutePath();  
  7.             } catch (InterruptedException e) {  
  8.                 e.printStackTrace();  
  9.             } catch (ExecutionException e) {  
  10.                 e.printStackTrace();  
  11.             }  

注意:这段代码需要在线程中执行,否则会保存。

来自:http://blog.csdn.NET/qq_19711823/article/details/50856236