我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android中怎么保存图片到系统图库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android中怎么保存图片到系统图库

这篇文章将为大家详细讲解有关Android中怎么保存图片到系统图库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

第一种是自己写方法,如下代码:

public static File saveImage(Bitmap bmp) {  File appDir = new File(Environment.getExternalStorageDirectory(), "Boohee");  if (!appDir.exists()) {    appDir.mkdir();  }  String fileName = System.currentTimeMillis() + ".jpg";  File file = new File(appDir, fileName);  try {    FileOutputStream fos = new FileOutputStream(file);    bmp.compress(CompressFormat.JPEG, 100, fos);    fos.flush();    fos.close();  } catch (FileNotFoundException e) {    e.printStackTrace();  } catch (IOException e) {    e.printStackTrace();  }}

以上代码便是将Bitmap保存图片到指定的路径/sdcard/Boohee/下,文件名以当前系统时间命名,但是这种方法保存的图片没有加入到系统图库中

第二种是调用系统提供的插入图库的方法:

复制代码 代码如下:

MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "title", "description");

调用以上系统自带的方法会把bitmap对象保存到系统图库中,但是这种方法无法指定保存的路径和名称,上述方法的title、description参数只是插入数据库中的字段,真实的图片名称系统会自动分配。

看似上述第二种方法就是我们要用到的方法,但是可惜的调用上述第二种插入图库的方法图片并没有立刻显示在图库中,而我们需要立刻更新系统图库以便让用户可以立刻查看到这张图片。

更新系统图库的方法

复制代码 代码如下:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));

上面那条广播是扫描整个sd卡的广播,如果你sd卡里面东西很多会扫描很久,在扫描当中我们是不能访问sd卡,所以这样子用户体现很不好,所以下面我们还有如下的方法:

复制代码 代码如下:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File("/sdcard/Boohee/image.jpg"))););


或者还有如下方法:

final MediaScannerConnection msc = new MediaScannerConnection(mContext, new MediaScannerConnectionClient() {  public void onMediaScannerConnected() {    msc.scanFile("/sdcard/Boohee/image.jpg", "image/jpeg");  }  public void onScanCompleted(String path, Uri uri) {    Log.v(TAG, "scan completed");    msc.disconnect();  }});

上面代码的图片路径不管是通过自己写方法还是系统插入图库的方法都可以很容易的获取到。

终极完美解决方案

那么到这里可能有人又会问了,如果我想把图片保存到指定的文件夹,同时又需要图片出现在图库里呢?答案是可以的,sdk还提供了这样一个方法:

复制代码 代码如下:

MediaStore.Images.Media.insertImage(getContentResolver(), "image path", "title", "description");

上述方法的第二个参数是image path,这样的话就有思路了,首先自己写方法把图片指定到指定的文件夹,然后调用上述方法把刚保存的图片路径传入进去,最后通知图库更新。

所以写了一个方法,完整的代码如下:

public static void saveImageToGallery(Context context, Bitmap bmp) {  // 首先保存图片  File appDir = new File(Environment.getExternalStorageDirectory(), "Boohee");  if (!appDir.exists()) {    appDir.mkdir();  }  String fileName = System.currentTimeMillis() + ".jpg";  File file = new File(appDir, fileName);  try {    FileOutputStream fos = new FileOutputStream(file);    bmp.compress(CompressFormat.JPEG, 100, fos);    fos.flush();    fos.close();  } catch (FileNotFoundException e) {    e.printStackTrace();  } catch (IOException e) {    e.printStackTrace(); }  // 其次把文件插入到系统图库  try {    MediaStore.Images.Media.insertImage(context.getContentResolver(),  file.getAbsolutePath(), fileName, null);  } catch (FileNotFoundException e) {    e.printStackTrace();  }  // 最后通知图库更新  context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + path)));}

关于Android中怎么保存图片到系统图库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android中怎么保存图片到系统图库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android中怎么保存图片到系统图库

这篇文章将为大家详细讲解有关Android中怎么保存图片到系统图库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一种是自己写方法,如下代码:public static File saveI
2023-05-30

win10系统截图后无法保存图片怎么办

这篇文章主要介绍win10系统截图后无法保存图片怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、首先按win+r打开运行窗口,输入regedit并按回车。2、调出注册表编辑器窗口后,依次展开:“HKEY_CU
2023-06-28

Android应用中怎么将图片保存到本地相册

这篇文章将为大家详细讲解有关Android应用中怎么将图片保存到本地相册,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先是保存图片到本地private static final Strin
2023-05-31

Android中怎么将图片存入系统相册

本篇文章为大家展示了Android中怎么将图片存入系统相册,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android 图片存入系统相册更新显示实例详解在开发android的过程中,我们避免不了可能
2023-05-31

win10系统截图后无法保存图片怎么解决

本篇内容介绍了“win10系统截图后无法保存图片怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决方法:1、首先按win+r打开运行
2023-06-28

使用Canvas怎么保存图片到本地

本篇文章为大家展示了使用Canvas怎么保存图片到本地,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、简介需求: 将HTML5的内容保存为图片思路: 通过Canvas绘图生成base64图片,长按
2023-06-09

python怎么保存图片到指定路径

你可以使用Python的PIL库(Pillow)来保存图片到指定路径。以下是一个简单的示例代码:from PIL import Image# 打开图片文件img = Image.open("example.jpg")# 保存图片到指定路
python怎么保存图片到指定路径
2024-03-01

Android 安卓将网络图片保存到相册

Android 安卓将网络图片保存到相册 封装了一个工具类! 请先加上读写权限:如果是Android6.0之后,加上权限后再动态申请权限 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOL
2022-06-06

Android应用中如何异步下载图片并将图片保存到本地DEMO中

Android应用中如何异步下载图片并将图片保存到本地DEMO中?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。通下面是demo中的Activity。public class
2023-05-31

android从系统图库中取图片的实例代码

本文实例讲述了android从系统图库中取图片的实现方法。分享给大家供大家参考。具体如下: 在自己应用中,从系统图库中取图片,然后截取其中一部分,再返回到自己应用中。这是很多有关图片的应用需要的功能。 写了一个示例,上来就是个大按钮,连布局
2022-06-06

android创建数据库(SQLite)保存图片示例

代码如下://1.创建数据库public class DBService extends SQLiteOpenHelper { private final static int VERSION = 1;private final stati
2022-06-06

java图片保存到数据库的方法是什么

Java中将图片保存到数据库的方法有多种,以下是一种常见的方法:1. 将图片转换为字节数组:```javaFile imageFile = new File("path/to/image.jpg");byte[] imageData = F
2023-09-27

Android保存数据到系统数据库中:Settings.System

有时候我们一些设置属性要保存到本地,防止软件卸载后配置属性消失。 比如我今天就有个修改手机蓝牙名称显示的功能,但是只需要修改一次,并且进行标记,并保存这个标识,如果程序卸载,重新安装也不需要再修改,这里就是要保存这个标识,来判断是否需要修改
2022-06-06

android保存Bitmap图片到指定文件夹示例

代码如下: public void saveBitmap() { Log.e(TAG, "保存图片"); File f = new File("/sdcard/namecard/", picName); if (f.
2022-06-06

Android中怎么将图片存储到指定路径

本篇文章为大家展示了Android中怎么将图片存储到指定路径,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.首先是长按保存:这个可以去参照网络上的,无非是自己先要拼接好一个文件路径。注意:IO流只
2023-05-31

php如何上传图片并保存到数据库

要上传图片并保存到数据库,需要先创建一个表来存储图片的相关信息,包括图片的文件名、文件类型、文件大小等。然后使用PHP的文件上传功能将图片上传到服务器,并将上传的图片信息保存到数据库中。以下是一个简单的示例代码:1. 创建一个名为`imag
2023-10-11

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录