2017-05-21 2 views
1

Je dois utiliser une version personnalisée de SQLite (basée sur la version https://sqlite.org/android/doc/trunk/www/index.wiki de sqlite.org) afin que je puisse utiliser des modules de personnalisation FTS personnalisés et utiliser SEE pour chiffrer mes bases de données.Android Room ORM: Prise en charge de la version personnalisée de SQLite

J'utilise le code suivant pour créer une base de données de la chambre:

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

J'ai essayé de mettre en œuvre ma propre « SupportSQLiteOpenHelper.Factory » (SqliteOrgSQLiteOpenHelperFactory) et a essayé de mettre en œuvre toutes les classes nécessaires, mais il sont trop de dépendances directes à "android.database. " et "android.database.sqlite.". Toutes ces dépendances semblent devoir être enveloppé dans les classes "SupportXXX"

Exemple: SupportSQLiteOpenHelper.Configuration dépend:

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

SupportSQLiteDatabase dépend:

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

Est-ce que je manque quelque chose? Est-ce que je m'approche de tout cela?

+1

J'ai déposé [une question] (https://issuetracker.google.com/issues/38430169) pour plus de conseils ici ... mais maintenant je vois que vous avez déposé [un problème similaire] (https://issuetracker.google.com/issues/38476154). – CommonsWare

Répondre