本文介绍了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加载图片并实现图片缓存的使用技巧和注意事项,需要的朋友参考一下 今天工作中遇到Glide的缓存问题,之前在项目中一直用Glide加载本地及网络图片,但是没有考虑过缓存的问题,但是需求中需要提到了,所以在网上查了一下,再这里和大家简单的分享一下Glide的使用方法以及缓存 首先,Glide是Github上
本文向大家介绍Android简单实现画图功能,包括了Android简单实现画图功能的使用技巧和注意事项,需要的朋友参考一下 如何在图片上画画呢?这里写了一个demo,供大家参考 一、先看一眼工程结构 工程结构: 二、自定义view 这个自定义view实现了保留轨迹的功能,代码如下 三、主页面布局文件 主页面布局文件 四、主Activity代码 五、效果 运行效果图如下 六、疑问 当线条变粗时,线条
本文向大家介绍struts2实现简单文件下载功能,包括了struts2实现简单文件下载功能的使用技巧和注意事项,需要的朋友参考一下 Struts2提供了stream结果类型,该结果类型是专门用于支持文件下载功能的。配置stream类型的结果需要指定以下4个属性。 contentType:指定被下载文件的文件类型 inputName:指定被下载文件的入口输入流 contentDispos
本文向大家介绍javascript简单实现图片预加载,包括了javascript简单实现图片预加载的使用技巧和注意事项,需要的朋友参考一下 简单的图片预加载 reloader.js 具体用法如上,小伙伴们可以发挥你的想象力,自由扩展。
本文向大家介绍Android App中使用Glide加载图片的教程,包括了Android App中使用Glide加载图片的教程的使用技巧和注意事项,需要的朋友参考一下 与其他图片加载库相同,Glide除了可以加载网络图片之外,也可以加载本地图片。甚至还可以从各种各样奇葩的数据源中加载图片。 加载网络图片 很多情况下,我们使用图片加载库就是为了加载网络图片。网络操作是一个很复杂的东西。试想一下,如果
本文向大家介绍Android图片加载缓存框架Glide,包括了Android图片加载缓存框架Glide的使用技巧和注意事项,需要的朋友参考一下 Glide开源框架是Google推荐的图片加载和缓框架,其在Github上的开源地址是:https://github.com/bumptech/glide 当然一个Google推荐的框架肯定就是Volley啦。 目前Android主流开发工具是Androi