Android中Glide实现超简单的图片下载功能

发布时间 - 2026-01-11 00:25:10    点击率:

本文介绍了Glide实现超简单的图片下载功能,具体步骤如下:

添加依赖

compile 'com.github.bumptech.glide:glide:3.7.0'

添加权限

 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

工具类代码

public class SDFileHelper {

  private Context context;

  public SDFileHelper() {
  }

  public SDFileHelper(Context context) {
    super();
    this.context = context;
  }

  //Glide保存图片
  public void savePicture(final String fileName, String url){
    Glide.with(context).load(url).asBitmap().toBytes().into(new SimpleTarget<byte[]>() {
      @Override
      public void onResourceReady(byte[] bytes, GlideAnimation<? super byte[]> glideAnimation) {
        try {
          savaFileToSD(fileName,bytes);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }
  //往SD卡写入文件的方法
  public void savaFileToSD(String filename, byte[] bytes) throws Exception {
    //如果手机已插入sd卡,且app具有读写sd卡的权限
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
      String filePath = Environment.getExternalStorageDirectory().getCanonicalPath()+"/budejie";
      File dir1 = new File(filePath);
      if (!dir1.exists()){
        dir1.mkdirs();
      }
      filename = filePath+ "/" + filename;
      //这里就不要用openFileOutput了,那个是往手机内存中写数据的
      FileOutputStream output = new FileOutputStream(filename);
      output.write(bytes);
      //将bytes写入到输出流中
      output.close();
      //关闭输出流
      Toast.makeText(context, "图片已成功保存到"+filePath, Toast.LENGTH_SHORT).show();
    } else Toast.makeText(context, "SD卡不存在或者不可读写", Toast.LENGTH_SHORT).show();
  }

}

然后再需要的地方调用

 SDFileHelper helper = new SDFileHelper(MainActivity.this);
 helper.savePicture("bg.jpg",url);


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# glide下载图片  # android  # glide下载  # glide下载图片到本地  # Android关于Glide的使用(高斯模糊、加载监听、圆角图片)  # Android中Glide获取图片Path、Bitmap用法详解  # Android将Glide动态加载不同大小的图片切圆角与圆形的方法  # android中Glide实现加载图片保存至本地并加载回调监听  # Android基于Glide v4.x的图片加载进度监听  # Android利用Glide获取图片真正的宽高的实例  # Android中Glide获取缓存大小并清除缓存图片  # Android图片加载框架Glide的基本用法介绍  # Android中Glide加载图片并实现图片缓存  # Android项目实战之Glide 高斯模糊效果的实例代码  # 就不  # 要用  # 不存在  # 然后再  # 大家多多  # public  # SDFileHelper  # savePicture  # void  # private  # Context  # super 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  WordPress 子目录安装中正确处理脚本路径的完整指南  如何在Windows虚拟主机上快速搭建网站?  JS碰撞运动实现方法详解  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  googleplay官方入口在哪里_Google Play官方商店快速入口指南  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel模型事件有哪些_Laravel Model Event生命周期详解  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何确保西部建站助手FTP传输的安全性?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  如何选择可靠的免备案建站服务器?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  简历在线制作网站免费版,如何创建个人简历?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  深入理解Android中的xmlns:tools属性  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  ,怎么在广州志愿者网站注册?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  高端网站建设与定制开发一站式解决方案 中企动力  如何在服务器上配置二级域名建站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何快速配置高效服务器建站软件?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  如何快速选择适合个人网站的云服务器配置?  如何正确选择百度移动适配建站域名?  Laravel如何使用Gate和Policy进行授权?(权限控制)  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel怎么在Controller之外的地方验证数据  清除minerd进程的简单方法  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  Laravel怎么实现验证码(Captcha)功能  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  详解Android——蓝牙技术 带你实现终端间数据传输