Um eine andere Datenbankimplementierung mit Room zu verwenden, müssen Sie eine SupportSQLiteOpenHelper.Factory finden (oder erstellen). Implementierung und stellen Sie es Ihrem RoomDatabase.Builder zur Verfügung über openHelperFactory() :
val builder = Room.databaseBuilder(context, SomeDatabase.class, DB_NAME)
.openHelperFactory(factory)
.build()
Der einfachste Weg, dies zu tun, ist die Verwendung der eigenständigen SQLite-Bibliothek von Requery. Sie würden RequerySQLiteOpenHelperFactory verwenden als Implementierung der SupportSQLiteOpenHelper.Factory , und es wird die gepackte Kopie von Requery von SQLite anstelle der Framework-Kopie verwendet.
Wenn Sie die Bibliothek von Requery aus irgendeinem Grund nicht verwenden möchten, müssen Sie ein Äquivalent finden, das Ihnen gefällt, oder Sie müssen SupportSQLite* implementieren APIs selbst. Ich habe das zweimal für SQLCipher für Android gemacht, und es ist mühsam, aber es ist sicherlich machbar.