讀古今文學網 > Android程序設計:第2版 > Android應用中的SQL和數據庫為中心的數據模型 >

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支持的在數據庫中的數據模型