本文介绍了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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Android中Glide实现超简单的图片下载功能全部内容,希望文章能够帮你解决Android中Glide实现超简单的图片下载功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)