iis服务器助手广告
返回顶部
首页 > 资讯 > 移动开发 >Android 保存图片到相册
  • 532
分享到

Android 保存图片到相册

android 2023-08-31 10:08:11 532人浏览 独家记忆
摘要

保存图片的方式分为两种: Android Q 以上 Android Q 以下 补充知识: Android Q 以上的保存图片 保存到应用的内部存储空间 (内部存储) 保存到 Android 系统设置的共享存储空间(外部储存) 图片(包括照片

保存图片的方式分为两种

Android Q 以上

Android Q 以下

补充知识:

Android Q 以上的保存图片

保存到应用的内部存储空间 (内部存储

保存到 Android 系统设置的共享存储空间(外部储存

图片(包括照片和屏幕截图),存储在 DCIM/ 或 Pictures/ 目录

视频,存储在 DCIM/Movies/ 或 Pictures/ 目录

音频文件,存储在 Alarms/Audiobooks/Music/Notifications/Podcasts/ 或 Ringtones/ 目录中

下载的文件,存储在 Download/ 目录中

一、Android Q 以下保存文件方式

获取外部存储目录

函数使用:getExternalStorageDirectory()

获取外部存储公共目录

函数使用:getExternalStoragePublicDirectory()

二、Android Q 以上保存文件方式

获取外部存储目录

函数使用:getExternalFilesDir()

获取外部存储公共目录

函数使用:

Environment.DIRECTORY_DCIM  相机照片

Environment.DIRECTORY_MUSIC 音乐

Environment.DIRECTORY_PODCASTS 系统广播

Environment.DIRECTORY_RINGTONES 系统铃声

Environment.DIRECTORY_ALARMS 系统提醒铃声

Environment.DIRECTORY_NOTIFICATIONS 系统通知铃声

Environment.DIRECTORY_PICTURES 图片

Environment.DIRECTORY_MOVIES 电影

Environment.DIRECTORY_DOWNLOADS 下载

三、代码实现

Android Q 以下

            // Android Q 以下            public void saveQNext(Bitmap image, Context context, String fileName, int quality) {                String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "艾跳跳";                Log.i("TAG", "saveQNext: >>> " + path);                // 创建文件夹                mkdir(path);                // 文件名称                Log.i("TAG", "saveQNext: " + fileName);                File file = new File(path, fileName);                try {                    FileOutputStream fos = new FileOutputStream(file);                    // 通过io流的方式来压缩保存图片                    image.compress(Bitmap.CompressFORMat.JPEG, quality, fos);                    fos.flush();                    fos.close();                    // 保存图片后发送广播通知更新数据库                    Uri uri = Uri.fromFile(file);                    context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));                } catch (IOException e) {                    e.printStackTrace();                }            }

Android Q 以上

          // Android Q 以上            @RequiresApi(api = Build.VERSION_CODES.Q)            public void saveQUp(Bitmap image, Context context, String fileName, int quality) {                // 文件夹路径                String imageSaveFilePath = Environment.DIRECTORY_DCIM + File.separator + "艾跳跳";                Log.i("TAG", "文件夹目录 >>> " + imageSaveFilePath);                mkdir(imageSaveFilePath);                // 文件名字                Log.d("TAG", "文件名字 >>> " + fileName);                ContentValues contentValues = new ContentValues();                contentValues.put(MediaStore.MediaColumns.TITLE, fileName);                contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, fileName);                contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg");                contentValues.put(MediaStore.MediaColumns.DATE_TAKEN, fileName);                //该媒体项在存储设备中的相对路径,该媒体项将在其中保留                contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, imageSaveFilePath);                Uri uri = null;                OutputStream outputStream = null;                ContentResolver localContentResolver = context.getContentResolver();                try {                    uri = localContentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);                    outputStream = localContentResolver.openOutputStream(uri);                    // Bitmap图片保存                    // 1、宽高比例压缩                    // 2、压缩参数                    image.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);                    outputStream.flush();                    outputStream.close();                } catch (Exception e) {                    e.printStackTrace();                    if (uri != null) {                        localContentResolver.delete(uri, null, null);                    }                } finally {                    image.recycle();                    try {                        if (outputStream != null) {outputStream.close();                        }                    } catch (IOException e) {                        e.printStackTrace();                    }                }            }

来源地址:https://blog.csdn.net/qq_35930739/article/details/128455453

--结束END--

本文标题: Android 保存图片到相册

本文链接: https://www.lsjlt.com/news/385287.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Android 保存图片到相册
    保存图片的方式分为两种: Android Q 以上 Android Q 以下 补充知识: Android Q 以上的保存图片 保存到应用的内部存储空间 (内部存储) 保存到 Android 系统设置的共享存储空间(外部储存) 图片(包括照片...
    99+
    2023-08-31
    android
  • android 11及以上保存图片视频到相册
    Android 10之前版本主要步骤 请求读写权限图片/视频下载到/storage/emulated/0/Android/data/包名/xxx复制到系统相册目录下扫描媒体库 Android 10及以上版本主要步骤 请求读写权限图片/视频下...
    99+
    2023-08-31
    android android studio ide
  • android保存图片到相册功能怎么实现
    要实现在Android应用中保存图片到相册的功能,可以按照以下步骤进行操作: 首先,确保应用已经获取了写入外部存储的权限。在And...
    99+
    2024-04-02
  • Android应用中怎么将图片保存到本地相册
    这篇文章将为大家详细讲解有关Android应用中怎么将图片保存到本地相册,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先是保存图片到本地private static f...
    99+
    2023-05-31
    android roi
  • flutter开发实战-图片保存到相册
    flutter开发实战-图片保存到相册。保存相册使用的是image_gallery_saver插件 一、引入image_gallery_saver插件 在pubspec.yaml中引入插件 # 保...
    99+
    2023-09-17
    flutter 相册 相机
  • 小程序如何保存图片到相册
    本篇内容介绍了“小程序如何保存图片到相册”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!官方文档保存图片前需要授权,因此我们先授权,代码如下:...
    99+
    2023-06-26
  • Android开发之保存图片到相册的三种方法详解
    目录方法一方法二方法三有三种方法如下:三个方法都需要动态申请读写权限否则保存图片到相册也会失败 方法一 public static void saveBitmap(Bit...
    99+
    2024-04-02
  • mac截图如何保存到相册
    本篇内容介绍了“mac截图如何保存到相册”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! mac截图保存到...
    99+
    2022-12-29
    mac
  • 微信小程序实现保存影集和图片到相册
    最近在开发一个视频和工具类的小程序,类似于小年糕,需要实现将用户制作的影集保存到本地手机的相册上,页面效果如下: 实现的逻辑如下: 1. 获取用户授权, 如果之前已授权直接下载。 ...
    99+
    2024-04-02
  • 微信小程序实现将图片保存到手机相册
    实现思路: 首先我们需要调用 wx.downloadFile 方法下载文件资源到本地,然后利用 wx.saveImageToPhotosAlbum 方法保存图片到系统相册,需要注意的是这样写很可能会因为没有权限而导致下载不了图片,所以我们最...
    99+
    2023-09-03
    微信小程序 小程序 javascript
  • Flutter 生成图片保存至相册的示例
    目录基本思路添加依赖实现代码遇到一个需求,需要用 Flutter 生成图片,最终实现的效果如下: 基本思路 使用 Canvas 绘制图片中各元素,然后使用 PictureReco...
    99+
    2024-04-02
  • Android 图片保存到相册不显示的解决方案(兼容Android 10及更高版本)
    目录前言问题解决问题前言 写了一个demo,简单逻辑就是:在一个图片上添加一行文字或者是水印,并且保存到系统相册,也就是我们手机上的图库。前面编辑图片添加水印都没有问题,到后面保存...
    99+
    2024-04-02
  • Android中怎么将图片存入系统相册
    本篇文章为大家展示了Android中怎么将图片存入系统相册,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android 图片存入系统相册更新显示实例详解在开发android的过程中,我们避免不了可能...
    99+
    2023-05-31
    android
  • Android实现生成二维码并保存到相册
    效果图如下 保存的图片效果是: 保存到本地的,是整个视图,不只是单单的二维码的图片, 在了解的一番过程之后,我知道了, 1.首先要去获取保存图片的写入权限;(使用 https:/...
    99+
    2024-04-02
  • Android中怎么保存图片到系统图库
    这篇文章将为大家详细讲解有关Android中怎么保存图片到系统图库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一种是自己写方法,如下代码:public static ...
    99+
    2023-05-30
    android
  • 小程序:下载图片文件(wx.downloadFile)并保存到手机相册(wx.saveImageToPhotosAlbum)
    封装下载函数: downloadAllPic (imgData) { wx.showLoading({ title: '图片下载中' }) let uploadNum = 0 let picNum = 0 imgData.f...
    99+
    2023-09-25
    小程序 javascript 前端
  • 微信小程序第四篇:生成图片并保存到手机相册
    系列文章传送门: 微信小程序第一篇:自定义组件详解 微信小程序第二篇:七种主流通信方法详解 微信小程序第三篇:获取页面节点信息 目录 一、封装分享组件 二、定义用户授权方法 三、调用流程 首先我们看一下要完成的效果:   这种...
    99+
    2023-09-18
    微信小程序 小程序
  • 保存图片到MySQL&从MySQL读取图片
    🍉接上次 爬取坤坤表情包 ,这次我们直接将表情包存到MySQL数据库而不是本地。🍉 🥭1. 创建数据库 首先创建一个数据库,数据库名为ikun,表名为img,3个字段分别为id(图片...
    99+
    2023-09-14
    mysql 数据库 java
  • Android应用如何获取相册中的图片
    这篇文章给大家介绍Android应用如何获取相册中的图片,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。容易出错的地方:当我们指定了照片的uri路径,我们就不能通过data.getData();来获取uri,而应该直接拿...
    99+
    2023-05-31
    android roi
  • 为什么视频保存后相册找不到
    视频保存后相册找不到是因为视频保存的位置不正确、视频文件损坏或格式不受支持、视频被隐藏或加密和手机系统或应用程序的问题。1、视频保存的位置不正确,在相册中查找子文件夹,或者使用文件管理器应用程序来搜索手机存储中的视频文件;2、视频文件损坏或...
    99+
    2023-08-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作