android中Glide实现加载图片保存至本地并加载回调监听

Glide 加载图片使用到的两个记录

Glide 加载图片保存至本地指定路径

/** * Glide 加载图片保存到本地 * * imgUrl 图片地址 * imgName 图片名称 */ Glide.with(context).load(imgUrl).asBitmap().toBytes().into(new SimpleTarget<byte[]>() { @Override public void onResourceReady(byte[] bytes, GlideAnimation<? super byte[]> glideAnimation) { try { savaBitmap(imgName, bytes); } catch (Exception e) { e.printStackTrace(); } } }); // 保存图片到手机指定目录 public void savaBitmap(String imgName, byte[] bytes) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { String filePath = null; FileOutputStream fos = null; try { filePath = Environment.getExternalStorageDirectory().getCanonicalPath() + "/MyImg"; File imgDir = new File(filePath); if (!imgDir.exists()) { imgDir.mkdirs(); } imgName = filePath + "/" + imgName; fos = new FileOutputStream(imgName); fos.write(bytes); Toast.makeText(context, "图片已保存到" + filePath, Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fos != null) { fos.close(); } } catch (IOException e) { e.printStackTrace(); } } } else { Toast.makeText(context, "请检查SD卡是否可用", Toast.LENGTH_SHORT).show(); } }

Glide 加载图片回调方法

Glide.with(context).load(imgUrl) .listener(new RequestListener<String, GlideDrawable>() { @Override public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { // 可替换成进度条 Toast.makeText(context, "图片加载失败", Toast.LENGTH_SHORT).show(); return false; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { // 图片加载完成,取消进度条 Toast.makeText(context, "图片加载成功", Toast.LENGTH_SHORT).show(); return false; } }).error(R.mipmap.ic_launcher_round) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(imageView);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-09-29 02:58:37

android中Glide实现加载图片保存至本地并加载回调监听的相关文章

Android中Glide加载图片并实现图片缓存

今天工作中遇到Glide的缓存问题,之前在项目中一直用Glide加载本地及网络图片,但是没有考虑过缓存的问题,但是需求中需要提到了,所以在网上查了一下,再这里和大家简单的分享一下Glide的使用方法以及缓存 首先,Glide是Github上开源的一个图片库,作者是bumptech,所以要使用的话,必须添加依赖: compile 'com.github.bumptech.glide:glide:3.6.1' 加载方式: Glide.with(context) .load("https://ss0.

使用加载图片解决在Ajax数据加载中页面出现短暂空白的问题(推荐)_AJAX相关

在项目中用ajax异步获取数据后有时会因为数据问题或者网络问题,页面一直显示空白,现在用加载图片来过渡这种状态: <script> $(function(){ $.ajax({ url:'',//提供接口的文件地址链接 dataType:'json', type:'POST', beforeSend: function(){ $('#loading').html("<img src=\"images/loading.gif\" width=\"15

opencv加载图片的问题,有时候加载是白色的图片

问题描述 opencv加载图片的问题,有时候加载是白色的图片 opencv加载图片的问题,有时候加载是白色的图片,不知道是什么原因? 解决方案 参考这个看看:http://blog.csdn.net/wangyaninglm/article/details/38958915 解决方案二: 参考下这篇文章:http://blog.csdn.net/miehuo/article/details/17734867 解决方案三: 好的,我回头看看这个博客 解决方案四: 纯白色的吗?和原来图像不符合?看下

如何将数据库中的二进制图片保存到本地-winfom

问题描述 如何将数据库中的二进制图片保存到本地-winfom现知道图片的大小,后缀 解决方案 解决方案二:http://swatsniper.blogerhome.com/150842.shtml拿到Image自己保存成文件就可以了

图片下载 图片缓存-android下载图片保存到本地图片大小为0KB,是什么原因??求大神解决

问题描述 android下载图片保存到本地图片大小为0KB,是什么原因??求大神解决 public Drawable loadImageFromUrl(String urlPath, String directory, String filename) { byte[] data = null; InputStream is = null; Drawable drawable = null; HttpURLConnection conn = null; URL url = null; try {

Android中TextView显示插入的图片实现方法_Android

本文实例讲述了Android中TextView显示插入的图片实现方法.分享给大家供大家参考,具体如下: Android系统默认给TextView插入图片提供了三种方式: 1.ImageSpan 2.Html.ImageGetter 3.TextView.setCompoundDrawables(left, top, right, bottom) 1.TextView使用ImageSpan显示图片 ImageSpan span = new ImageSpan(this, R.drawable.ic

duilib如何实现异步加载图片,即类似qq加载头像的问题。

问题描述 duilib如何实现异步加载图片,即类似qq加载头像的问题. 有一个CButtonUI的对象,然后将其SetNormalImage一个图片. 该图片是从网络上下载出来的,但是需要刷新才会显示图片. 如何做到CButtonUI的对象的自我更新. 解决方案 http://download.csdn.net/detail/glt3953/5041185

php自动采集内容中带有图片地址的远程图片保存到本地

php自动采集内容中带有图片地址的远程图片保存到本地 function my_file_get_contents($url, $timeout=30) {  if ( function_exists('curl_init') )  {   $ch = curl_init();   curl_setopt ($ch, curlopt_url, $url);   curl_setopt ($ch, curlopt_returntransfer, 1);   curl_setopt ($ch, cur

android怎样把listview显示的数据保存到本地

问题描述 android怎样把listview显示的数据保存到本地 我想把listview上的数据保存本地(可以是保存到SD卡中或者是sharedpreferences都可以) 解决方案 原始数据可以用序列化保存成文件,或者自己用stream保存 解决方案二: List list = new ArrayList(0); SharedPreferences sp = getSharedPreferences(""file"" MODE_PRIVATE); Editor