今天在微信预览大图时发现其茬无网络的情况下也可以保存图片,我觉得这是个常见的需求所以动手实现类似的需求,中间也踩了挺多坑所以跟大家一起分享我踩過的坑。
Glide4.x以下加载图片的方式为
我们首先需要获取缓存的File,Glide因为版本不同获取File的方式也不同
获得File后,这只是个文件存在系统data目录下,我们需要将File复制到sd卡的目录下并重命名为.jpg文件。
首先创建要保存路径的文件appDir然后创建目标文件targetFile,接着创建输入输出流通过while循环输出文件,最后别忘了调用flush和close方法释放资源
我们保存玩图片后,需要通知系统相册刷新否则是找不到保存的图片的。
关于通知系统相册更新有两种方法。
上面两种方法都能达到更新效果但是查看了其他博客,有人说第一种方法某些情况下无效具体我没有深究,这里推荐使用第二种方法更新
总结:这是一个常见的需求,虽然代码很短但是涉及到三个大的知识点,需要注重平常的积累在遇到问题时首先冷静思考,洏不是心里mmp这样才能有效解决问题。
第一次写博客如果有不对的地方欢迎一起交流。
最后放一个操作的gif视频压的不好,见谅!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。