SQLite
 sql >> Database >  >> RDS >> SQLite

Come utilizzare Room Persistence Library con un database precompilato?

Ecco come l'ho risolto e come puoi spedire la tua applicazione con un database precompilato (fino a Room v. alpha5)

  • inserisci il tuo DB SQLite database_name.db negli assets/databases cartella

  • prendi i file da questo repository e mettili in un pacchetto chiamato cioè sqlAsset

  • nel tuo AppDatabase classe, modifica di conseguenza il codice di creazione del DB della tua stanza:

    Room.databaseBuilder(context.getApplicationContext(), 
                         AppDatabase.class, 
                         "database_name.db")
    .openHelperFactory(new AssetSQLiteOpenHelperFactory())
    .allowMainThreadQueries()
    .build();
    

Nota che devi usare "database_name.db" e non getDatabasePath() o altri metodi:serve solo il nome del file.