Android数据存储方式:SharePreference、SQLite、ContentProvider有什么不同?

在Android中一共提供了4种数据存储方式,由于Android中数据基本是私有的,如果需要在其他应用程序中使用这些数据,就要使用

Android提供的ContentProviders。

Android中4种数据存储方式:

Shared Preferences

类似于我们常用的ini文件,用来保存应用程序的一些属性设置,在Android

平台常用于存储较简单的参数设置。数据存放位置:目录:/data/data/<包>/shared_prefs/***.xml

我们无法在多个应用程序间共享Preferences数据。


文件存取(I/O)
文件用来存储大数量的数据采用java.io.*库所提供有I/O接口,读写文件。只有本地文件可以被访问

优点:可以存储大容量的数据
缺点:文件更新或是格式改变可能会导致巨大的编程工作.


SQLite数据库
SQLite 是一个轻量级的数据库原子量性、坚固性、独立性、耐久性、体积小只用几千字节,一些SQL 的指令只是部分支持,例如:ALTER、TABLE

Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。


Content Provider
Content Provider是所有应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数据共享。Android为常见的一些数据提供了ContentProvider(包括音频、视频、图片和通讯录)

每个Content Providers都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content Providers为这些数据定义一个URI,然后其他的应用程序就可以通过Content Providers传入这个URI来对数据进行操作。URI由3个部分组成:"content://"、数据的路径、标识ID(可选)。

你可能感兴趣的:(android开发)