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

 更新时间:2017年09月08日 08:28:48   作者:code小生  
本篇文章主要介绍了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);

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

相关文章

  • Android中判断当前API的版本号方法

    Android中判断当前API的版本号方法

    下面小编就为大家分享一篇Android中判断当前API的版本号方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Android使用kotlin实现多行文本上下滚动播放

    Android使用kotlin实现多行文本上下滚动播放

    这篇文章主要为大家详细介绍了Android使用kotlin实现多行文本的上下滚动播放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Android jni调试打印char阵列的实例详解

    Android jni调试打印char阵列的实例详解

    这篇文章主要介绍了Android jni调试打印char阵列的实例详解的相关资料,通过此文希望能帮助到大家实现这样的功能,需要的朋友可以参考下
    2017-08-08
  • Android网络开发中GET与POST请求详解

    Android网络开发中GET与POST请求详解

    这篇文章主要介绍了android实现网络请求的get和post请求的简单封装与使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2022-12-12
  • 解决Android ListView数据为空及加载错误的方法

    解决Android ListView数据为空及加载错误的方法

    这篇文章主要为大家提供了一个解决Android ListView数据为空及加载错误的方法,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Android写一个实时输入框功能

    Android写一个实时输入框功能

    这篇文章主要介绍了Android写一个实时输入框功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • android通过servlet服务器保存文件到手机

    android通过servlet服务器保存文件到手机

    这篇文章主要为大家详细介绍了android通过servlet服务器保存文件到手机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Android中使用LayoutInflater要注意的一些坑

    Android中使用LayoutInflater要注意的一些坑

    LayoutInflater类在我们日常开发中经常会用到,最近在使用中就遇到了一些问题,所有下面这篇文章主要给大家总结了关于Android中使用LayoutInflater要注意的一些坑,希望通过这篇能让大家避免走一些弯路,需要的朋友可以参考学习,下面来一起看吧。
    2017-04-04
  • Android中的Intent对象完全解析

    Android中的Intent对象完全解析

    这篇文章主要介绍了Android中的Intent对象,深入讲解了intent对象传递消息的各种用法,需要的朋友可以参考下
    2016-04-04
  • android视频截屏&手机录屏实现代码

    android视频截屏&手机录屏实现代码

    本篇文章主要介绍了android视频截屏&手机录屏实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-07-07

最新评论