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。