首页 > 系统 > Android > 正文

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

2019-12-12 03:15:08
字体:
来源:转载
供稿:网友

本文介绍了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);


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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表