Roomで別のデータベース実装を使用するには、SupportSQLiteOpenHelper.Factory
を見つける(または作成する)必要があります。 実装してRoomDatabase.Builder
に提供します openHelperFactory()
経由 :
val builder = Room.databaseBuilder(context, SomeDatabase.class, DB_NAME)
.openHelperFactory(factory)
.build()
これを行う最も簡単な方法は、RequeryのスタンドアロンSQLiteライブラリを使用することです。 RequerySQLiteOpenHelperFactory
を使用します SupportSQLiteOpenHelper.Factory
の実装として 、フレームワークではなく、Requeryのパッケージ化されたSQLiteのコピーを使用します。
何らかの理由でRequeryのライブラリを使用したくない場合は、必要な同等のライブラリを見つけるか、SupportSQLite*
を実装する必要があります。 APIを自分で。私はAndroid用のSQLCipherでそれを2回行いました。それは苦痛ですが、確かに実行可能です。