Om een andere database-implementatie met Room te gebruiken, moet u een SupportSQLiteOpenHelper.Factory zoeken (of maken) implementatie en lever het aan uw RoomDatabase.Builder via openHelperFactory() :
val builder = Room.databaseBuilder(context, SomeDatabase.class, DB_NAME)
.openHelperFactory(factory)
.build()
De eenvoudigste manier om dat te doen, is door de zelfstandige SQLite-bibliotheek van Requery te gebruiken. U zou RequerySQLiteOpenHelperFactory . gebruiken als de implementatie van de SupportSQLiteOpenHelper.Factory , en het zal Requery's verpakte kopie van SQLite gebruiken in plaats van het framework-exemplaar.
Als u om de een of andere reden de bibliotheek van Requery niet wilt gebruiken, moet u een equivalent vinden dat u bevalt, of u moet de SupportSQLite* implementeren API's zelf. Ik heb dat twee keer gedaan voor SQLCipher voor Android, en het is lastig, maar het is zeker te doen.