概览

Android支持的数据存储方式:

1. Sp存储                  在键值对中存储私有的原始数据      
  2. 文件存储
        2.1 内部文件存储      在设备文件系统中存储应用私有文件
        2.2 外部文件存储      在共享外部文件系统中存储文件。此方式通常用于共享的用户文件,如照片
  3. Sqlite 数据库存储        在私有数据库中存储结构化数据
  4. 远程服务器存储

除了外部存储的某些文件类型外,所有这些选项均适用于应用私有数据(即其他应用无法自然访问的数据)。如果您希望与其他应用共享文件,则应使用 FileProvider API。如需了解详情,请阅读共享文件。
如果您希望向其他应用公开应用数据,则可使用 ContentProvider。借助内容提供程序,您可以完全控制向其他应用提供哪些读取/写入访问权限,无论您为数据选择何种存储介质(尽管通常为数据库)。如需了解更多信息,请阅读内容提供程序。

一 SharedPreferences 保存 (共享首选项)

如果您无需存储大量数据和存储结构,则应使用 SharedPreferences。借助 SharedPreferences API,您可以读取和写入原始数据类型(布尔型、浮点型、整型、长整型和字符串型)的永久性键值对。

系统会将键值对写入 XML 文件,而这类文件会永久保留在用户会话中(即便系统终止应用)。您可以手动指定文件名称,也可使用每个 Activity 的文件来保存数据。

API 名称“共享首选项”有一定的误导性,因为此 API 并不严格用于保存“用户首选项”,例如用户选择的铃声。您可以使用 SharedPreferences 来保存任何类型的简单数据,例如用户的高分。但是,如果您确实想要保存应用的用户首选项,请阅读如何创建设置界面,从而使用 AndroidX Preference Library 来构建设置屏幕并自动保留用户的设置。

android如何存储文件大小 安卓存储文件_文件存储

说明

  • SP存储专门存储一些单一的效数据
  • 存储数据类型:boolean,float,int,long,String
  • 数据保存的路径:/data/data/packageName.shared_prefs/yyy.xml
  • 可以设置数据智能是当前应用读取,别的应用不可以
  • 应用卸载时会删除此数据

相关API

android如何存储文件大小 安卓存储文件_android如何存储文件大小_02

  • SharedPreferences:对应sp文件的接口
    - context.getSharedPreferences(String name,int mode) ; 得到sp对象
    - name 文件名
    - mode 生成文件的模式(是否私有 )
    Context context = getActivity(); SharedPreferences sharedPref = context.getSharedPreferences( getString(R.string.preference_file_key), Context.MODE_PRIVATE); - Editor sp.edit():得到Editor对象
    - XXX sp.getXXX(name,defaultValue) 根据那么得到相应的数据
  • Editor:能够更新sp文件的接口
    - Editor put(name,value) 保存一个键值对 没有真正保存到文件中
    - Editor remove(name)
    - commit() 提交 数据真正保存到文件中

SP 保存数据

  1. 得到sp对象1
  2. 得到editor对象
  3. 得到输入的数据k-v
  4. 使用editor保存k-v
  5. 提示

SP 读取数据

二 文件存储读写

Android 文件存储的形式

  • Inner File
  • SD File

1. Android内部文件操作模式

android如何存储文件大小 安卓存储文件_android如何存储文件大小_03

2.文件的操作方法

android如何存储文件大小 安卓存储文件_android如何存储文件大小_04

三 SQLite 数据库

————————————————
[1] Android开发者文档--指南 [2]