android中Glide实现加载图片保存至本地并加载回调监听
人气:9Glide 加载图片使用到的两个记录
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项目实战之Glide 高斯模糊效果的实例代码
- Android 使用Glide加载网络图片等比例缩放的实现方法
- Android框架学习之Volley和Glide详解
- Android Glide 4.0+使用详解
- Android中Glide加载到RelativeLayout背景图方法示例
- Android中Glide获取图片Path、Bitmap用法详解
- Android将Glide动态加载不同大小的图片切圆角与圆形的方法
- Android中Glide库的使用小技巧总结
- Android添加glide库报错Error: Failed to resolve: com.android.support:support-annotations:26.0.2的解决
- 详解Android中Glide与CircleImageView加载圆形图片的问题
- Android利用Glide获取图片真正的宽高的实例
- Android如何使用Glide加载清晰长图
加载全部内容