SQLite
 sql >> Base de données >  >> RDS >> SQLite

Comment utiliser Room Persistence Library avec une base de données pré-remplie ?

Voici comment je l'ai résolu et comment vous pouvez envoyer votre application avec une base de données pré-remplie (jusqu'à Room v. alpha5)

  • mettez votre SQLite DB database_name.db dans les assets/databases dossier

  • prenez les fichiers de ce référentiel et placez-les dans un package appelé i.e. sqlAsset

  • dans votre AppDatabase class, modifiez le code de création de la base de données de votre salle en conséquence :

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

Notez que vous devez utiliser "database_name.db" et non getDatabasePath() ou d'autres méthodes :il suffit de connaître le nom du fichier.