首页 » Android程序设计:第2版 » Android程序设计:第2版全文在线阅读

《Android程序设计:第2版》Android应用中的SQL和数据库为中心的数据模型

关灯直达底部

现在,具备了一些基础的SQL编程知识,可以开始思考在Android应用中如何使用它了。我们的目标是基于流行的模型-视图-控制器(Model-View-Controller,MVC)模式创建健壮的应用,它是编写良好的UI程序的基础,尤其对于Android工作良好。Wikipedia的关于MVC的背景信息在http://en.wikipedia.org/wiki/Model_view_controller可以查到。

移动手机应用和桌面应用之间的根本区别在于它们如何处理持久性。传统的基于桌面的应用——文字处理器、文本编辑器、绘图程序、演示程序等,通常使用文档化的MVC模式。这些应用打开文件,读入内存,转换成构成数据模型的内存对象。这些程序可以为数据模型创建视图,通过控制器处理用户输入,然后修改数据模型(如图9-1所示)。该设计的主要结果是显式地按序打开和保存文件,使得数据模型在程序调用之间能够具有持久性。我们已经知道了用户接口组件在Android中是如何工作的。下一步,将探讨关于数据库操作的Android API,它将帮助我们实现以新的方式工作的应用数据模型。

图9-1:以文档为中心的应用,通过内存对象实现数据模型

健壮的Android使用方式是把数据模型和用户接口元素以不同的方式结合起来。应用以有限的内存在移动设备上运行,它可以在不可预测和不合时时期运行完电源。小型移动设备的重点也在于减少对用户的交互影响:当用户正要打电话时,提醒他应该保存文档不是良好的用户体验。Android中完全没有文档的概念。用户始终应该有正确的数据,并且确信其数据是安全的。

为了便于逐项增量式存储和使用应用数据,而且不需要显式保存整个数据模型而总是在持久性内存中,Android对以数据库为中心的数据(如图9-2所示)提供数据库、视图和activity类支持。下面将解释如何使用Android数据库类来实现这种模型。

图9-2:Android支持的在数据库中的数据模型