做为一个完成的应用程序,数据存储操做是必不可少的。所以,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。因为Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,因此要实现数据共享,正确方式是使用Content Provider。html
SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操做数据库的API。web
SharedPreference: 除SQLite数据库外,另外一种经常使用的数据存储方式,其本质就是一个xml文件,经常使用于存储较简单的参数设置。数据库
File: 即常说的文件(I/O)存储方法,经常使用语存储大数量的数据,可是缺点是更新数据将是一件困难的事情。ide
ContentProvider: Android系统中能实现全部应用程序共享的一种数据存储方式,因为数据一般在各应用间的是互相私密的,因此此存储方式较少使用,可是其又是必不可少的一种存储方式。例如音频,视频,图片和通信录,通常均可以采用此种方式进行存储。每一个Content Provider都会对外提供一个公共的URI(包装成Uri对象),若是应用程序有数据须要共享时,就须要使用Content Provider为这些数据定义一个URI,而后其余的应用程序就经过Content Provider传入这个URI来对数据进行操做。spa
PS: URI由3个部分组成:"content://"、数据的路径、标识ID(可选)。orm