第6章 数据存储、恢复和共享
这一章,你将学习Android中三种最通用的数据保存技巧——preference、本地文件和SQLite数据库。之后会学习Content Provider。
保存和加载数据是多数应用程序最基本的需求。从小的来说,Activity应该在每次它们移出前台时保存它们的UI状态。这确保了下一次呈现时有着相同的UI状态,甚至在进程被杀死重启的时候。
还有一种可能是你应该保存个人设置项,来允许用户定制应用程序和存留输入或录入的数据。一样重要的一种能力是加载文件、数据和Content Provider的数据——你自己的,和那些本地的或第三方的应用程序所共享的。
Android非确定的Activity和应用程序的寿命使得在会话期间保存UI状态和程序数据尤其的重要。Android提供了一些可选的保存数据的方法,每一种都进行了优化来满足特定的需求。
Preference是一种简单的、轻量级的key/value对机制来保存基本的程序数据,最常见的是用户的应用程序设置。Android还提供了对本地文件系统的访问方法,既可以通过特定的方法也可以是一般的Java.IO类。
为了建立一个更加健壮的存储层,Android提供了SQLite数据库。这个SQLite数据库提供了强大的本地SQL数据库,你可以完全操控它们。
Content Provider为任意数据源提供了通用的接口。它高效地降低了底层数据存储技术与应用程序层之间的耦合。
一般情况,所有文件、数据库和Preference的访问对于创建它们的应用程序来说是有限制的。Content Provider为你的应用程序提供了托管的方法来与其他程序共享私有数据。因此,你的程序可以使用其它程序提供的Content Provider,包括本地的Provider。
保存和恢复实例状态
保存To‐Do List Activity 的状态
Content Resolver 介绍
使用MediaStore Provider
使用Contacts Provider
暴露数据源的访问
注册Provider
创建Content Provider
使用Provider