基于Android实现保存图片到本地并可以在相册中显示出来

 更新时间:2015年12月22日 14:36:59   投稿:mrr  
App应用越来越人性化,不仅界面优美而且服务也很多样化,操作也非常方便。通过本篇文章给大家介绍基于Android实现保存图片到本地并可以在相册中显示出来,对android保存图片相关知识感兴趣的朋友一起学习吧

App应用越来越人性化,不仅界面优美而且服务也很多样化,操作也非常方便。比如我们在用app的时候,发现上面有比较的图片想保存到手机,只要点一点app上提供的保存按钮就可以了。那这个图片保存到本地怎么实现的呢?

保存图片很简单,方法如下:

/** 首先默认个文件保存路径 */
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.jb51.net
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));
bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);
bos.flush();
bos.close();
}

这样就保存好了,可是有的时候明明保存下来了,为什么进入相册时查看不到呢?反正我是遇到这样的问题的,原来我们在保存成功后,还要发一个系统广播通知手机有图片更新,广播如下:

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(file);
intent.setData(uri);
context.sendBroadcast(intent);//这个广播的目的就是更新图库,发了这个广播进入相册就可以找到你保存的图片了!,记得要传你更新的file哦

以上内容是基于Android实现保存图片到本地并可以在相册中显示出来的全部叙述,希望能够帮助大家。

相关文章

  • flutter实现头部tabTop滚动栏

    flutter实现头部tabTop滚动栏

    这篇文章主要为大家详细介绍了flutter实现头部tabTop滚动栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Android中播放Gif动画取巧的办法

    Android中播放Gif动画取巧的办法

    本文给大家介绍Android中播放Gif动画取巧的办法的相关资料,涉及到android 播放gif动画相关知识,感兴趣的朋友一起学习吧
    2016-03-03
  • Android简单封装一个MVP基类流程详解

    Android简单封装一个MVP基类流程详解

    MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。下面这篇文章主要给大家介绍了关于Android从实现到封装MVP的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
    2023-03-03
  • Android 自定义球型水波纹带圆弧进度效果(实例代码)

    Android 自定义球型水波纹带圆弧进度效果(实例代码)

    最近小编接到一个这样的需求,需要实现一个圆形水波纹,带进度,两层水波纹需要渐变显示,且外围有一个圆弧进度。今天小编给大家分享实例代码,感兴趣的朋友一起看看吧
    2019-12-12
  • Android NDK开发之:配置环境的详解

    Android NDK开发之:配置环境的详解

    本篇文章是对Android中的配置环境进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Android 百度地图marker中图片不显示的解决方法(推荐)

    Android 百度地图marker中图片不显示的解决方法(推荐)

    下面小编就为大家分享一篇Android 百度地图marker中图片不显示的解决方法(推荐),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Android自定义view Path 的高级用法之搜索按钮动画

    Android自定义view Path 的高级用法之搜索按钮动画

    这篇文章主要介绍了Android自定义view Path 的高级用法之搜索按钮动画,需要的朋友可以参考下
    2017-06-06
  • Android基础之获取LinearLayout的宽高

    Android基础之获取LinearLayout的宽高

    LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。有的时候,我们需要想获取LinearLayout宽高,下面通过这篇文章来跟着小编一起学习学习吧。
    2016-11-11
  • Android编程计算函数时间戳的相关方法总结

    Android编程计算函数时间戳的相关方法总结

    这篇文章主要介绍了Android编程计算函数时间戳的相关方法,结合实例形式总结分析了Android Java、Native、Kernel时间戳计算相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • Android开发之对话框案例详解(五种对话框)

    Android开发之对话框案例详解(五种对话框)

    本文通过实例代码给大家分享了5种android对话框,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09

最新评论