Android Room ORM:支持SQLite的自定义构建 [英] Android Room ORM: Support custom build of SQLite

查看:61
本文介绍了Android Room ORM:支持SQLite的自定义构建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用SQLite的自定义版本(基于sqlite.org版本 https://sqlite.org/android/doc/trunk/www/index.wiki ),这样我就可以使用自定义的FTS令牌生成器并使用SEE来加密我的数据库.

I need to use a custom build of SQLite (based on sqlite.org version https://sqlite.org/android/doc/trunk/www/index.wiki) so that I can use custom FTS Tokenizers and to use SEE to encrypt my databases.

我正在使用以下代码创建Room数据库:

I'm using the following code to create a Room database:

val mainDb = Room.databaseBuilder(context, MainDatabase::class.java, "main")
                .openHelperFactory(SqliteOrgSQLiteOpenHelperFactory())
                .build()

我尝试实现自己的"SupportSQLiteOpenHelper.Factory"(SqliteOrgSQLiteOpenHelperFactory),并尝试实现所有必需的类,但是对"android.database."和"android.database"的直接依赖过多.sqlite.".所有这些依赖项似乎都需要包装在"SupportXXX"类中

I tried to implement my own "SupportSQLiteOpenHelper.Factory" (SqliteOrgSQLiteOpenHelperFactory) and tried to implement all of the needed classes, but there are too many direct dependencies to "android.database." and "android.database.sqlite.". All of these dependencies seem to need to be wrapped in "SupportXXX" classes

示例:SupportSQLiteOpenHelper.Configuration取决于:

Example: SupportSQLiteOpenHelper.Configuration depends on:

  • android.database.DatabaseErrorHandler
  • android.database.DefaultDatabaseErrorHandler
  • android.database.sqlite.SQLiteDatabase.CursorFactory

SupportSQLiteDatabase取决于:

SupportSQLiteDatabase depends on:

  • android.database.sqlite.SQLiteTransactionListener
  • android.database.sqlite.SQLiteDatabase.CursorFactory

我错过了什么吗?我要把这一切都弄错了吗?

Am I missing something? Am I approaching this all wrong?

推荐答案

有一个github存储库 https://github.com/hannesa2/SafeRoom ,基于来自 https://issuetracker.google的附加邮政编码.com/issues/38481640 将SQLCipher应用于Room

There is a github repo https://github.com/hannesa2/SafeRoom , based on attached zip from https://issuetracker.google.com/issues/38481640 which apply SQLCipher to Room

这篇关于Android Room ORM:支持SQLite的自定义构建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆