android中Glide实现加载图片保存至本地并加载回调监听
2020年02月01日
作者:佚名
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,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中Glide实现加载图片保存至本地并加载回调监听全部内容,希望文章能够帮你解决android中Glide实现加载图片保存至本地并加载回调监听所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。