SQLite Android 繫結

文件
登入

應用程式開發

載入共享函式庫

在使用任何 SQLite 相關方法或物件之前,必須使用以下程式碼將原生 SQLite 函式庫載入應用程式中

  System.loadLibrary("sqliteX");

確保及早載入共享函式庫的一種方法是將其新增到應用程式主要 Activity 類別宣告中的「靜態」區塊。

如果在載入共享函式庫之前呼叫 SQLite 相關方法,應用程式將會發生區段錯誤(崩潰且沒有錯誤訊息或例外)。

使用 SQLite Android 繫結類別

組成內建 Android SQLite 介面的類別位於 "android.database.sqlite" 命名空間中。此介面提供所有相同的類別,但位於 "org.sqlite.database.sqlite" 命名空間中。這表示要修改應用程式以使用自訂版本的 SQLite,通常只需將原始碼中所有出現的 "android.database.sqlite" 替換為 "org.sqlite.database.sqlite"。例如,以下

  import android.database.sqlite.SQLiteDatabase;

應替換為

  import org.sqlite.database.sqlite.SQLiteDatabase;

除了替換 android.database.sqlite.* 命名空間中所有類別的用法之外,應用程式還必須確保使用以下兩個

  org.sqlite.database.SQLException
  org.sqlite.database.DatabaseErrorHandler

而不是

  android.database.SQLException
  android.database.DatabaseErrorHandler

與內建 SQLite 支援的差異

除了命名空間的變更之外,應用程式還需要注意與標準 Android 介面的其他差異

  1. SQLiteStatement.simpleQueryForBlobFileDescriptor() API 無法使用。
  2. 排序序列 "UNICODE" 無法使用。
  3. 排序序列 "LOCALIZED" 通常會隨著系統的目前地區設定而改變,但它始終等同於 SQLite 的內建排序 BINARY。