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 dieassets/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.