十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文介绍了Glide实现超简单的图片下载功能,具体步骤如下:
创新互联公司服务项目包括建昌网站建设、建昌网站制作、建昌网页制作以及建昌网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,建昌网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到建昌省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
添加依赖
compile 'com.github.bumptech.glide:glide:3.7.0'
添加权限
工具类代码
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() { @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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。