4 存储管理
Android存储分为内部存储和外部存储。前者不需要权限,后者需要权限。内部存储又可划分为共享存储(也称共享偏好)、内部文件读写和SQLite数据库存储。Android提供了共享存储接口SharedPreferences 。Activity具有获取SharedPreferences接口类型对象的方法getPreferences()(本方法由Activity的超类Context类提供)。
4.1 使用SharedPreferences存储数据
SharedPreferences是Android系统提供的一个存储少量数据的轻量级数据存储方式,类似于Cookie,经常用它来保存一些常用的信息。SharedPreferences对象采用键值对的形式组织和管理数据,其数据存储在XML格式文件中。
4.2 文件存储
文件存储是Android中最基本的一种数据存储方式,和Java类似,都是通过I/O流的形式把数据直接存储到文档中,不同的是Android中的文件存储分为内部存储和外部存储。
4.3 SQLite数据库存储数据
SQLite是一个关系型数据库,是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且非常小,所以常作为嵌入式数据数据库内置在应用程序中。另外,它还是开源的,所有人都可以使用它。
4.4 使用ContentProvider存储
Android系统通过Content Provider来管理数据,如音频、视频、图像、个人联系信息等。可以说Content Provider也是一个应用程序数据的集合,方便其他的应用访问其中的应用程序数据,这些数据可以被存在文件系统中,SQLite数据库中,或者其他可以存数据的地方。另外,Contentproviders同时还是一个基本的方法集合,来使其他的应用可以获得和存储这些数据。一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据完全暴露出去,而且ContentProviders是以类似数据库中表的方式将数据暴露,也就是说ContentProvider就像一个“数据库”。那么外界获取其提供的数据,也就应该与从数据库中获取数据的操作基本一样,只不过是采用URI来表示外界需要访问的“数据库”。