android开发实现保存图片到本地并可以在相册中显示出来
程序员文章站
2022-03-30 17:55:46
android开发实现保存图片到本地并可以在相册中显示出来。
1. 需求分析
app应用是越来越人性化:界面优美,服务多样化,操作还非常方便。比如我们在用app的时候,发现...
android开发实现保存图片到本地并可以在相册中显示出来。
1. 需求分析
app应用是越来越人性化:界面优美,服务多样化,操作还非常方便。比如我们在用app的时候,发现上面有比较的图片想保存到手机,只要点一点app上提供的保存按钮就可以了。那这个图片保存到本地怎么实现的呢?
2. 保存图片很简单,方法如下:
a. 首先默认个文件保存路径
private static final string save_pic_path=environment.getexternalstoragestate().equalsignorecase(environment.media_mounted) ? environment.getexternalstoragedirectory().getabsolutepath() : /mnt/sdcard;//保存到sd卡 private static final string save_real_path = save_pic_path+ /good/savepic;//保存的确切位置 下面就是保存的方法,传入参数就可以了: public static void savefile(bitmap bm, string filename, string path) throws ioexception { string subforder = save_real_path + path; file foder = new file(subforder); if (!foder.exists()) { foder.mkdirs(); } file mycapturefile = new file(subforder, filename); if (!mycapturefile.exists()) { mycapturefile.createnewfile(); }www.2cto.com bufferedoutputstream bos = new bufferedoutputstream(new fileoutputstream(mycapturefile)); bm.compress(bitmap.compressformat.jpeg, 80, bos); bos.flush(); bos.close(); }
b. 这样就保存好了,可是有的时候明明保存下来了,为什么进入相册时查看不到呢?反正我是遇到这样的问题的,原来我们在保存成功后,还要发一个广播通知手机有图片更新,广播如下:
intent intent = new intent(intent.action_media_scanner_scan_file); uri uri = uri.fromfile(file); intent.setdata(uri); context.sendbroadcast(intent);//这个广播的目的就是更新图库,发了这个广播进入相册就可以找到你保存的图片了!,记得要传你更新的file哦