android開發 資料庫的使用

2021-08-02 14:47:45 字數 1749 閱讀 2019

sqlite是輕量級嵌入式資料庫引擎,它支援 sql 語言,並且只利用很少的記憶體就有很好的效能。此外它還是開源的,任何人都可以使用它。許多開源專案((mozilla, php, python)都使用了 sqlite,sqlite 由以下幾個元件組成:sql 編譯器、核心、後端以及附件。sqlite 通過利用虛擬機器和虛擬資料庫引擎(vdbe),使除錯、修改和擴充套件 sqlite 的核心變得更加方便。 

特點:

面向資源有限的裝置, 沒有伺服器程序, 所有資料存放在同一檔案中跨平台,可自由複製。

sqlite 基本上符合 sql-92 標準,和其他的主要 sql 資料庫沒什麼區別。它的優點就是高效,android 執行時環境包含了完整的 sqlite。

sqlite 和其他資料庫最大的不同就是對資料型別的支援,建立乙個表時,可以在 create table 語句中指定某列的資料型別,但是你可以把任何資料型別放入任何列中。當某個值插入資料庫時,sqlite 將檢查它的型別。如果該型別與關聯的列不匹配,則 sqlite 會嘗試將該值轉換成該列的型別。如果不能轉換,則該值將作為其本身具有的型別儲存。比如可以把乙個字串(string)放入 integer 列。sqlite 稱這為「弱型別」(manifest typing.)。 此外,sqlite 不支援一些標準的 sql 功能,特別是外來鍵約束(foreign key constrains),巢狀 transcaction 和 right outer join 和 full outer join, 還有一些 alter table 功能。 除了上述功能外,sqlite 是乙個完整的 sql 系統,擁有完整的觸發器,交易等等。

android 整合了 sqlite 資料庫 android 在執行時(run-time)整合了 sqlite,所以每個 android 應用程式都可以使用 sqlite 資料庫。

對於熟悉 sql 的開發人員來時,在 android 開發中使用 sqlite 相當簡單。但是,由於 jdbc 會消耗太多的系統資源,所以 jdbc 對於手機這種記憶體受限裝置來說並不合適。因此,android 提供了一些新的 api 來使用 sqlite 資料庫,android 開發中,程式設計師需要學使用這些 api。

資料庫儲存在 data/< 專案資料夾 >/databases/ 下。 android 開發中使用 sqlite 資料庫 activites 可以通過 content provider 或者 service 訪問乙個資料庫。

下面會詳細講解如果建立資料庫,新增資料和查詢資料庫。 建立資料庫 android 不自動提供資料庫。在 android 應用程式中使用 sqlite,必須自己建立資料庫,然後建立表、索引,填充資料。

android 提供了 sqliteopenhelper 幫助你建立乙個資料庫,你只要繼承 sqliteopenhelper 類,就可以輕鬆的建立資料庫。sqliteopenhelper 類根據開發應用程式的需要,封裝了建立和更新資料庫使用的邏輯。

sqliteopenhelper 的子類,至少需要實現三個方法:

1 建構函式,呼叫父類 sqliteopenhelper 的建構函式。這個方法需要四個引數:上下文環境(例如,乙個 activity),資料庫名字,乙個可選的游標工廠(通常是 null),乙個代表你正在使用的資料庫模型版本的整數。

2 oncreate()方法,它需要乙個 sqlitedatabase 物件作為引數,根據需要對這個物件填充表和初始化資料。

3 onupgrage() 方法,它需要三個引數,乙個 sqlitedatabase 物件,乙個舊的版本號和乙個新的版本號,這樣你就可以清楚如何把乙個資料庫從舊的模型轉變到新的模型。

Android使用的SQLite資料庫

sqlite允許忽略資料型別,但是,仍然建議在create table語句中指定資料型別,因為資料型別有利於增強程式的可讀性。sqlite支援常見的資料型別,如varchar nvarchar text integer float boolean clob blob timestamp numeri...

android 資料庫的基本使用

建立資料庫表 public class databasetable public string getculumns public string getsqlcrate public string gettablename public string getid public string getm...

Android中資料庫的使用

之前我部落格中提到了簡單字串資料可以通過共享引數的方式儲存在本地,這也是android中主要的一種資料持久化的方法。不過這種儲存方法有個問題,乙個是資料不能過多,另乙個就是多條關聯資料不好儲存。這時我們就會很羨慕後台的資料庫了。不過沒有關係,android也為我們準備了乙個輕量級的資料庫,並為我們提...