應用程式開發
載入共享函式庫
在使用任何 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 介面的其他差異
- SQLiteStatement.simpleQueryForBlobFileDescriptor() API 無法使用。
- 排序序列 "UNICODE" 無法使用。
- 排序序列 "LOCALIZED" 通常會隨著系統的目前地區設定而改變,但它始終等同於 SQLite 的內建排序 BINARY。