顯示具有 從無到有-實戰Android系統開發-系統設計 標籤的文章。 顯示所有文章
顯示具有 從無到有-實戰Android系統開發-系統設計 標籤的文章。 顯示所有文章

2009年12月25日 星期五

從無到有-實戰Android系統開發-系統設計(5)-記帳系統

接下來就是次要的所屬資料表,是要將記帳項目是屬於那個所屬的資料,記錄起來,才可以進行查詢、分析等進階功能的應用。設定這些欄位主要是依「從無到有-實戰Android系統開發-系統分析(9)」的新增所屬項目的系統畫面來分析。而有如表5的欄位分析。


表5

最後,是系統相關項目資料的設定,是要將有關系統方面的資料記錄起來,才可以進行系統方面的應用。設定這些欄位主要是依「從無到有-實戰Android系統開發-系統分析(10)」的系統畫面來分析。而有如表6的欄位分析。


表6

從無到有-實戰Android系統開發-系統設計(4)-記帳系統

接下來就是次要的類別資料表,是要將記帳項目是屬於那個類別的資料,記錄起來,才可以進行查詢、分析等進階功能的應用。設定這些欄位主要是依「從無到有-實戰Android系統開發-系統分析(7)」的新增類別項目的系統畫面來分析。而有如表3的欄位分析。



表3

接下來就是次要的帳戶資料表,是要將記帳項目是屬於那個帳戶的資料,記錄起來,才可以進行查詢、分析等進階功能的應用。設定這些欄位主要是依「從無到有-實戰Android系統開發-系統分析(8)」的新增帳戶項目的系統畫面來分析。而有如表4的欄位分析。



表4

從無到有-實戰Android系統開發-系統設計(3)-記帳系統

首先,我們依資料庫模型的分析,列出如表1所示的所有資料表及相關的說明。記帳項目資料表為主要的資料表,而跟它有關連的是三個次要的資料表,分別是類別、帳戶、所屬等資料表。
最後一個資料表是系統設定資料表,是用來設定系統相關的設定,例如:版本、資料庫路徑等欄位。



表1

首先,我們先來看主要的資料表,是要將記帳項目的資料,記錄起來,才可以進行查詢、分析等進階功能的應用。設定這些欄位主要是依「從無到有-實戰Android系統開發-系統分析(4)」的新增記帳項目的系統畫面來分析。而有如表2的欄位分析。



表2

從無到有-實戰Android系統開發-系統設計(2)-記帳系統

首先,我們要從系統功能、介面來設計可以儲存資料的資料庫及對應的資料表及欄位。依系統功能,我們可以知道主要是用一個記帳的主要資料表對應到類別、帳戶、所屬等的次要資料表,以及一個可以儲存系統相關資料的資料表。
依這樣的關係,我們整理出來相關資料庫模型,如下表所述:
ER Modem

從無到有-實戰Android系統開發-系統設計(1)-記帳系統

系統設計-如何由系統流程、功能來分析資料庫的設計。

我們透過需求分析、系統分析,了解一個系統的運作流程及系統功能、介面的整理。接下來,就是要實際的進行撰寫程式的工作。

不過,在之前,我們還在進行資料庫方面的分析,因為,要儲存記帳方面的資料。就要依系統功能、介面來設計可以儲存資料的資料庫及對應的資料表及欄位。

首先,我們先來介紹一下Android的預設資料庫SQLite吧。SQLite是一種在嵌入式系統中很常見的資料庫,而且所有的資料都會儲存在一個檔案中。就跟Microsoft Access一樣,是為了方便遷移。而SQLite有簡潔的SQL存取介面、相當快的存取速度,而且僅佔用相對其他資料庫少量的記憶體空間。在Android平台上,SQLite資料庫可以用來儲存應用程式中使用到的資料,還可以透過Content Provider等方式,來讓其他應用程式也可以取得其中的資料。

在後續的章節中,我們先分析系統功能、介面來設計資料庫,畫出ER模型、資料表與資料表之間的關連,最後,會用一個簡單的例子來說明如何存取SQLite中的資料。