应用程序编程
加载共享库
在使用任何与 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。