SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Wie verwende ich die Room Persistence Library mit einer vorbelegten Datenbank?

So habe ich es gelöst und wie Sie Ihre Anwendung mit einer vorbelegten Datenbank ausliefern können (bis zu Room v. alpha5)

  • setzen Sie Ihre SQLite DB database_name.db in die assets/databases Ordner

  • Nehmen Sie die Dateien aus diesem Repo und legen Sie sie in ein Paket namens sqlAsset

  • in Ihrer AppDatabase Klasse, ändern Sie den DB-Erstellungscode Ihres Raums entsprechend:

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

Beachten Sie, dass Sie "database_name.db" verwenden müssen und nicht getDatabasePath() oder andere Methoden:es braucht nur den Namen der Datei.