android中Glide实现加载图片保存至本地并加载回调监听
Glide 加载图片使用到的两个记录
创新互联专注骨干网络服务器租用10年,服务更有保障!服务器租用,成都服务器托管 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。
Glide 加载图片保存至本地指定路径
/** * Glide 加载图片保存到本地 * * imgUrl 图片地址 * imgName 图片名称 */ Glide.with(context).load(imgUrl).asBitmap().toBytes().into(new SimpleTarget() { @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() { @Override public boolean onException(Exception e, String model, Target target, boolean isFirstResource) { // 可替换成进度条 Toast.makeText(context, "图片加载失败", Toast.LENGTH_SHORT).show(); return false; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target 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实现加载图片保存至本地并加载回调监听
URL网址:http://cdiso.cn/article/phdohi.html