Android中Glide实现超简单的图片下载功能
程序员文章站
2023-11-15 21:09:34
本文介绍了glide实现超简单的图片下载功能,具体步骤如下:
添加依赖
compile 'com.github.bumptech.glide:glide:3...
本文介绍了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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 我是如何利用QQ营销月赚万元的