话不多少,直接上代码:
activity_main.xml:
一个ImageView,几个button
接下来是MainActivity.java中
我们先是创建好文件和输出流,写到sd卡目录,以当前时间命名。
这里copy是一个bitmap对象,所以使用compress方法,里面的 “100”指的是图片的质量,0表示以最小空间来保存,100表示以最大质量来保存图片,保存完图片后,可以在sd卡里面找到图片,但是我们手机的图库并没有,所以我们需要发送一条广播,通知系统去扫描sd卡,(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE),这样便能够立刻在图库中找到图片啦!
(ps: 我们系统在sd卡就绪时,会进行遍历sd卡,将sd卡里面的图片,视屏等信息构建成一个索引,存在MediaStore数据库中,当我们打开系统图库时,系统是不会再次扫描sd卡【需要时间】,之间将mediastore数据库中的索引,读取出来,所以我们保存到sd卡后打开图库看不到保存的图片,这就是为什么我们要发送广播了!)