首页 > 系统 > Android > 正文

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

2019-12-12 02:04:40
字体:
来源:转载
供稿:网友

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);

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表