Android中Glide实现超简单的图片下载功能
更新时间:2017年03月29日 10:02:18 作者:Code_KZ
本篇文章主要介绍了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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Flutter Widget之FutureBuilder使用示例详解
这篇文章主要为大家介绍了Flutter Widget之FutureBuilder使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-11-11Android开发自学笔记(六):声明权限和Activity
这篇文章主要介绍了Android开发自学笔记(六):声明权限和Activity,本文是上一篇的补充,需要的朋友可以参考下2015-04-04
最新评论