android中Glide实现加载图片保存至本地并加载回调监听
Glide加载图片使用到的两个记录
Glide加载图片保存至本地指定路径
/** *Glide加载图片保存到本地 * *imgUrl图片地址 *imgName图片名称 */ Glide.with(context).load(imgUrl).asBitmap().toBytes().into(newSimpleTarget(){ @Override publicvoidonResourceReady(byte[]bytes,GlideAnimationglideAnimation){ try{ savaBitmap(imgName,bytes); }catch(Exceptione){ e.printStackTrace(); } } }); //保存图片到手机指定目录 publicvoidsavaBitmap(StringimgName,byte[]bytes){ if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ StringfilePath=null; FileOutputStreamfos=null; try{ filePath=Environment.getExternalStorageDirectory().getCanonicalPath()+"/MyImg"; FileimgDir=newFile(filePath); if(!imgDir.exists()){ imgDir.mkdirs(); } imgName=filePath+"/"+imgName; fos=newFileOutputStream(imgName); fos.write(bytes); Toast.makeText(context,"图片已保存到"+filePath,Toast.LENGTH_SHORT).show(); }catch(IOExceptione){ e.printStackTrace(); }finally{ try{ if(fos!=null){ fos.close(); } }catch(IOExceptione){ e.printStackTrace(); } } }else{ Toast.makeText(context,"请检查SD卡是否可用",Toast.LENGTH_SHORT).show(); } }
Glide加载图片回调方法
Glide.with(context).load(imgUrl) .listener(newRequestListener(){ @Override publicbooleanonException(Exceptione,Stringmodel, Target target, booleanisFirstResource){ //可替换成进度条 Toast.makeText(context,"图片加载失败",Toast.LENGTH_SHORT).show(); returnfalse; } @Override publicbooleanonResourceReady(GlideDrawableresource,Stringmodel, Target target, booleanisFromMemoryCache, booleanisFirstResource){ //图片加载完成,取消进度条 Toast.makeText(context,"图片加载成功",Toast.LENGTH_SHORT).show(); returnfalse; } }).error(R.mipmap.ic_launcher_round) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(imageView);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。