Android 为数据存储提供了如下几种方式:

  • 文件存储
  • SharedPreferences(参数)
  • SQLite数据库
  • Content Provider 内容提供者
  • 网络

文件存储

不对存储内容进行任何的格式化处理,所有的数据都是原封不动的保存到文件当中,因此它比较适合存储一些简单的文本数据或二进制数据。

SharedPreferences

使用键值对的方式来存储数据的,也就是在保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出来。而且 SharedPreferences 还支持多种不容的数据类型存储,如果存储的数据类型是整型,那么读取出来的数据也是整型的,存储的数据是一个字符串,读取出来的数据仍然是字符串。

SQLite数据库

文件存储和 SharedPreferences 只适用于存储一些简单的数据和键值对,当需要存储大量复杂的关系型数据时,使用 SQLite 数据库。

Content Provider 内容提供者

主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。目前,使用内容提供器是 Android 实现跨程序共享数据的标准方式。

不同于文件存储和 SharedPreferences 存储中的两种全局可读写操作模式,内容提供器可以选择只对哪一部分数据进行共享,从而保证程序的隐私数据不会有泄漏风险。