Android Room ORM:支持 SQLite 的自定义构建
Android Room ORM: Support custom build of SQLite
我需要使用自定义构建的 SQLite(基于 sqlite.org 版本 https://sqlite.org/android/doc/trunk/www/index.wiki),以便我可以使用自定义 FTS 标记器并使用 SEE 来加密我的数据库。
我正在使用以下代码创建 Room 数据库:
val mainDb = Room.databaseBuilder(context, MainDatabase::class.java, "main")
.openHelperFactory(SqliteOrgSQLiteOpenHelperFactory())
.build()
我尝试实现自己的 "SupportSQLiteOpenHelper.Factory" (SqliteOrgSQLiteOpenHelperFactory) 并尝试实现所有需要的 类,但是对 "android.database." 和 [=43 的直接依赖太多=].所有这些依赖项似乎都需要包含在 "SupportXXX" 类
中
示例:
SupportSQLiteOpenHelper.Configuration 取决于:
- android.database.DatabaseErrorHandler
- android.database.DefaultDatabaseErrorHandler
- android.database.sqlite.SQLiteDatabase.CursorFactory
SupportSQLiteDatabase 取决于:
- android.database.sqlite.SQLiteTransactionListener
- android.database.sqlite.SQLiteDatabase.CursorFactory
我错过了什么吗?我是不是完全错了?
有一个 github 存储库 https://github.com/hannesa2/SafeRoom , based on attached zip from https://issuetracker.google.com/issues/38481640 将 SQLCipher 应用于 Room
我需要使用自定义构建的 SQLite(基于 sqlite.org 版本 https://sqlite.org/android/doc/trunk/www/index.wiki),以便我可以使用自定义 FTS 标记器并使用 SEE 来加密我的数据库。
我正在使用以下代码创建 Room 数据库:
val mainDb = Room.databaseBuilder(context, MainDatabase::class.java, "main")
.openHelperFactory(SqliteOrgSQLiteOpenHelperFactory())
.build()
我尝试实现自己的 "SupportSQLiteOpenHelper.Factory" (SqliteOrgSQLiteOpenHelperFactory) 并尝试实现所有需要的 类,但是对 "android.database." 和 [=43 的直接依赖太多=].所有这些依赖项似乎都需要包含在 "SupportXXX" 类
中示例: SupportSQLiteOpenHelper.Configuration 取决于:
- android.database.DatabaseErrorHandler
- android.database.DefaultDatabaseErrorHandler
- android.database.sqlite.SQLiteDatabase.CursorFactory
SupportSQLiteDatabase 取决于:
- android.database.sqlite.SQLiteTransactionListener
- android.database.sqlite.SQLiteDatabase.CursorFactory
我错过了什么吗?我是不是完全错了?
有一个 github 存储库 https://github.com/hannesa2/SafeRoom , based on attached zip from https://issuetracker.google.com/issues/38481640 将 SQLCipher 应用于 Room