当前位置: 首页 > web >正文

Android 数据持久化之 文件存储

在 Android 开发中,存储文件是一个常见的需求。
本文中介绍 openFileOutput 和 File 两种不同的方式来操作文件。

一、File 方式

根据文件的存储位置和访问权限,可以将文件存储分为内部存储(Internal Storage)和外部存储(External Storage)。

1、 内部存储(Internal Storage)

内部存储是应用私有的存储空间,其他应用无法访问。它适用于存储敏感信息或应用专用的数据。

2、外部存储(External Storage)

外部存储是共享的存储空间,其他应用可以访问。从 Android 10(API 级别 29)开始,外部存储的访问方式发生了变化,引入了分区存储(Scoped Storage)。

3、注意事项

权限:
内部存储不需要特殊权限。
外部存储需要 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限。从 Android 10 开始,建议使用分区存储,减少对这些权限的依赖。
分区存储:
从 Android 10 开始,推荐使用分区存储,通过 context.getExternalFilesDir() 或 MediaStore API 访问外部存储。
文件路径:
内部存储路径:context.filesDir
外部存储路径:context.getExternalFilesDir(null)

二、openFileOutput 方式
在 Android 开发中,openFileOutput 是一个用于在内部存储中创建或打开文件的方法。它属于 Context 类,通常用于写入私有文件。这些文件存储在应用的内部存储目录中,其他应用无法访问。

http://www.xdnf.cn/news/4726.html

相关文章:

  • SpringBoot整合PDF导出功能
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.1 业务场景与数据准备
  • Wireshark基本使用
  • $SYNT 迈入新时代:治理门户更新 + 通胀提案发布
  • [机器学习介绍与定义]机器学习-part1
  • 删除链表倒数第N个节点
  • 什么是变量提升?(形象的比喻)
  • 【AI入门】CherryStudio入门4:创建知识库,对接思源笔记
  • Spring Boot 实现验证码生成与校验:从零开始构建安全登录系统
  • Linux Shell编程之条件语句
  • Jquery ajax 提交序列化或JSON数据到后台
  • 前端缓存踩坑指南:如何优雅地解决浏览器缓存问题?
  • CKESC STONE 80A-MC 电调的全场景可靠性技术测评
  • 从零打造个人博客静态页面与TodoList应用:前端开发实战指南
  • Maven
  • AI CUBE 使用指南 目标检测格式范例 AI cube 报错数据集不合规范,请清洗数据集
  • 在Hugging Face网站像Github一样克隆repository到本地的具体步骤
  • 【数据结构】——链表OJ(下)
  • 丝路传说手游:职业选择与高难度BOSS突破指南
  • 视频编解码学习8之视频历史
  • hprof文件,java虚拟机堆转储文件,Dump文件
  • 使用adb设置wifi相关
  • AI Agent开发之门:微软官方课程全面解析
  • R1-Searcher:用强化学习解锁大语言模型检索新能力!
  • 计算机体系架构-----设计模式:状态模式(从程序员加班问题切入)
  • SpringBoot中使用MCP和通义千问来处理和分析数据-连接本地数据库并生成实体类
  • 只出现一次的数字(暴力、哈希查重、异或运算)
  • Python基于Django和MySQL实现突发公共卫生事件舆情分析系统(有大屏功能)
  • 【AI论文】FlexiAct:在异构场景中实现灵活的动作控制
  • 线程池的核心参数和线程创建方式,线程和进程