在线excel表格助力企业高效管理与数据分析的未来趋势
843
2022-05-29
一、数据存储汇总
类别
内容类型
访问方法
需要权限
他应用可以访问吗?
卸载应用程序时删除的文件?
应用程序专属文件
仅供你的应用使用的文件
从内部存储,getFilesDir()或 getCacheDir()
从外部存储, getExternalFilesDir()或 getExternalCacheDir()
内部存储永远不需要
当你的应用在运行 Android 4.4(API 级别 19)或更高版本的设备上使用时,外部存储不需要
不
是的
Media
可共享的媒体文件(图像、音频文件、视频)
MediaStore API
READ_EXTERNAL_STORAGE 在 Android 11(API 级别 30)或更高版本上访问其他应用的文件时
READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 在 Android 10(API 级别 29)上访问其他应用的文件时
Android 9(API 级别 28)或更低版本上的所有文件都需要权限
可以,虽然其他应用程序需要 权限READ_EXTERNAL_STORAGE
不
文件和其他文件
其他类型的可共享内容,包括下载的文件
存储访问框架
没有任何权限
可以,通过系统文件选择器
不
App preferences
键值对
Jetpack Preferences 库
没有任何权限
不
是的
数据库
结构化数据
Room 持久性库
没有任何权限
不
是的
数据存储需要多少空间:
内部存储空间用于特定应用数据的空间有限(可通过多个进程,可以获得更多的内存空间(图库等大型文件存放))。如果你需要保存大量数据,可以使用外部存储、SharedPreference存储或数据库存储。
数据访问可靠性:
如果你的应用程序的基本功能需要某些数据,那么就将数据放在内部存储目录或数据库中。禁止存储在外部存储中,某些设备允许用户删除与外部存储对应的物理设备(如拔出存储卡)。
需要存储什么样的数据:
需要一些简单的存储选择使用应用程序专属文件存储。
对于可共享的媒体内容(图片),那就使用共享存储,以便其他应用程序可以访问该内容。
对于结构化数据,可以使用Jetpack Preferences(用于键值数据)或数据库(用于包含超过 2 列的数据)。
一、数据存储汇总
数据存储需要多少空间:
内部存储空间用于特定应用数据的空间有限(可通过多个进程,可以获得更多的内存空间(图库等大型文件存放))。如果你需要保存大量数据,可以使用外部存储、SharedPreference存储或数据库存储。
数据访问可靠性:
如果你的应用程序的基本功能需要某些数据,那么就将数据放在内部存储目录或数据库中。禁止存储在外部存储中,某些设备允许用户删除与外部存储对应的物理设备(如拔出存储卡)。
需要存储什么样的数据:
需要一些简单的存储选择使用应用程序专属文件存储。
对于可共享的媒体内容(图片),那就使用共享存储,以便其他应用程序可以访问该内容。
对于结构化数据,可以使用Jetpack Preferences(用于键值数据)或数据库(用于包含超过 2 列的数据)。
数据私密性:
存储敏感数据(不应从任何其他应用程序访问的数据)时,可以使用内部存储、Jetpack Preferences或数据库。内部存储具有对用户隐藏数据的额外好处。
其实这几种存储方式都差不多,你可以由场景自行选择,如:
共享文件(图片保存)
共享文件(图片保存)
SP or MMKV (简单的用户信息等)
SP or MMKV (简单的用户信息等)
SQLite or Room(首页列表信息存储或商品详情等)
SQLite or Room(首页列表信息存储或商品详情等)
二、相关链接
Android 数据全方案处理
Android 数据存储(四)-Room
Android 数据存储(三)-SQLite数据库实例
Android 数据存储(二)-Preferences or MMKV
Android 数据存储(一)-文件存储
Android SQLite 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。