应用数据与文件

Android 使用与其他平台上基于磁盘的文件系统类似的文件系统。系统为保存应用数据提供了几种选项:

  • 应用专用存储 - 用于保存其他应用不应访问的敏感信息的内部存储。

  • 共享存储 - 用于应用与其他应用共享的文件,包括媒体、文档和其他文件。

  • 首选项 - 用于在键值对中存储私有、原始数据的存储。

  • 数据库 - 使用 Room 持久性库在私有数据库中存储结构化数据。

内容类型
访问方法
所需权限

应用专用文件

从内部存储,使用 getFilesDir()getCacheDir()

从外部存储,使用 getExternalFilesDir()getExternalCacheDir()

内部存储永远不需要权限

当应用在运行 Android 4.4(API 级别 19)或更高版本的设备上使用时,外部存储不需要权限

可共享的媒体文件(图像、音频文件、视频)

在 Android 11(API 级别 30)或更高版本上访问其他应用的文件时需要 READ_EXTERNAL_STORAGE

在 Android 10(API 级别 29)上访问其他应用的文件时需要 READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE

在 Android 9(API 级别 28)或更低版本上访问所有文件都需要权限

其他类型的可共享内容,包括下载的文件

存储访问框架 (Storage Access Framework)

数据库

结构化数据

Room 持久性库

参考资料

最后更新于