源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-04-02 05:04 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android中Glide实现超简单的图片下载功能
本文介绍了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);
[img]http://files.jb51.net/file_images/article/201703/2017329100052724.gif?201722910112[/img] 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部