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

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

1. 获取Bitmap:

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

Glide.with(mContext).load(url).asBitmap().into(new SimpleTarget<Bitmap>() {
                @Override
                public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                    image.setImageBitmap(resource);
                }
            }); //方法中设置asBitmap可以设置回调类型

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

Glide.with(mContext).load(url).asBitmap().into(new Target<Bitmap>() {
                @Override
                public void onLoadStarted(Drawable placeholder) {

                }

                @Override
                public void onLoadFailed(Exception e, Drawable errorDrawable) {

                }

                @Override
                public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                     //TODO set bitmap
                }

                @Override
                public void onLoadCleared(Drawable placeholder) {

                }

                @Override
                public void getSize(SizeReadyCallback cb) {

                }

                @Override
                public void setRequest(Request request) {

                }

                @Override
                public Request getRequest() {
                    return null;
                }

                @Override
                public void onStart() {

                }

                @Override
                public void onStop() {

                }

                @Override
                public void onDestroy() {

                }
            });

2)通过url获取

Bitmap myBitmap = Glide.with(applicationContext)
    .load(yourUrl)
    .asBitmap() //必须
    .centerCrop()
    .into(500, 500)
    .get()  

2. 获取图片缓存路径

FutureTarget<File> future = Glide.with(mContext)
                    .load("url")
                    .downloadOnly(500, 500);
            try {
                File cacheFile = future.get();
                String path = cacheFile.getAbsolutePath();
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            }

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

时间: 2024-10-28 08:22:22

Android之Glide获取图片Path和Glide获取图片Bitmap的相关文章

小记:对Android网络下载工具的初步封装!(包括json,字符串下载(volley),和图片下载(glide))

import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.widget.ImageView; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError

Android 解决RecyclerView瀑布流效果结合Glide使用时图片变形的问题

问题描述:使用Glide加载RecyclerView的Item中的图片,RecyclerView使用了瀑布流展示图片,但是滚动时图片会不断的加载,并且大小位置都会改变,造成显示错乱. 解决方法:使用瀑布流,我们可以根据要展示的列数来将屏幕宽度等分,从而获得Item的宽度.知道了宽度,那么我们就可以使用Glide的override()方法根据图片的比例自适应地放大或缩小得到合适的高度.这样显示时就不会由错乱的问题了. 步骤1:设置Item的最外层布局的layout_height为wrap_cont

封装篇——图片模块(Glide)

如今市面上差点儿全部的app都用到了图片,图片模块的开发是app开发中不可缺少的一块工作, 开源的力量是强大的.好多优秀的第三方项目能够任君使用,帮助我们提高效率.而且不须要反复造轮子,这边我採用的是google官方推荐的 Glide项目.至于为何选择它请读者们自行谷歌glide详情,谷歌之前可先參考 怎样评估开源库是否值得引入 : 好! 那么废话不多讲 .进入今天主题:图片模块(Glide封装): 基础方法 此段是依据我们经常使用到的一些方法所整理出来的.有遗漏或者有什么补充,欢迎大家来建议.

浅谈 Glide - BitmapPool 的存储时机 &amp; 解答 ViewTarget 在同一View显示不同的图片时,总用同一个 Bitmap 引用的原因

作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguanh/ GitHub : https://github.com/af913337456/ 腾讯云专栏: https://cloud.tencent.com/developer/user/1148436/activities 这两天在改造我的私人APP 非ROOT版微信自动回复, 使之可以多开的时候,碰

android选择图片,通过uri获取路径

/** * 根据Uri获取图片的绝对路径 * * @param context 上下文对象 * @param uri 图片的Uri * @return 如果Uri对应的图片存在, 那么返回该图片的绝对路径, 否则返回null */ public static String getRealPathFromUri(Context context, Uri uri) { int sdkVersion = Build.VERSION.SDK_INT; if (sdkVersion >= 19) { //

Android 获取SDCard中某个目录下图片

本文介绍Android开发中如何获取SDCard中某目录下的所有图片并显示出来,下面的我们提供的这个函数是通用的,只要提供路径就可以查询出该目录下所有图片的路径信息,并保存到一个List<String>中. 1.获取SDCard中某个目录下图片路径集合 public List<String> getPictures(final String strPath) { List<String> list = new ArrayList<String>(); Fil

Android 高级UI设计笔记06:仿微信图片选择器

仿微信图片选择器: 一.项目整体分析: 1. Android加载图片的3个目标: (1)尽可能的去避免内存溢出. a. 根据图片的显示大小去压缩图片 b. 使用缓存对我们图片进行管理(LruCache) (2)用户操作UI控件必须充分的流畅. a. getView里面尽可能不去做耗时的操作(异步加载 + 回调显示) (3)用户预期显示的图片尽可能的快(图片的加载策略的选择,一般选择是LIFO). a. LIFO 2. 定义一个Imageloader完成上面1中的3个目标: Imageloader

Android 框架练成 教你打造高效的图片加载框架

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41874561,本文出自:[张鸿洋的博客] 1.概述 优秀的图片加载框架不要太多,什么UIL , Volley ,Picasso,Imageloader等等.但是作为一名合格的程序猿,必须懂其中的实现原理,于是乎,今天我就带大家一起来设计一个加载网络.本地的图片框架.有人可能会说,自己写会不会很渣,运行效率,内存溢出神马的.放心,我们拿demo说话,拼得就是速度,奏事这么任性.

android应用开发_网络部分2——采用HttpURLConnection获取获取网页源代码

本文是android应用开发_网络部分1——采用HttpURLConnection获取网络图片的延续练习. 接下来,我们再来一个查看网页源代码的工程来加深了解. 布局上还是一个竖直排列的线性布局,一个edittext用于输入html路径,一个button,用于点击获取,一个textview用于显示. main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:and