本文主要是介绍Glide 加载图片保存至本地,加载回调监听,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Glide 加载图片保存至本地指定路径
/*** Glide 加载图片保存到本地** imgUrl 图片地址* imgName 图片名称*/Glide.with(context).load(imgUrl).asBitmap().toBytes().into(new SimpleTarget<byte[]>() {@Overridepublic 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>() {@Overridepublic boolean onException(Exception e, String model,Target<GlideDrawable> target,boolean isFirstResource) {// 可替换成进度条Toast.makeText(context, "图片加载失败", Toast.LENGTH_SHORT).show();return false;}@Overridepublic 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);
这篇关于Glide 加载图片保存至本地,加载回调监听的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!