2017-07-10 8 views
1

In Android ORM wie kann ich einige Initialwerte in Tabellen in SQLite hinzufügen Ich mache dies in der Regel in OnCreate von SQLite. Aber auf Raum, wie kann ich das tun nach der Erstellung auf Datenbank fügt einige anfängliche Werte hinzu. danke für Ihre Antwort.android room ORM nach anfängliche Werte

+1

https://issuetracker.google.com/issues/62185732 – CommonsWare

Antwort

1

Sie können das mit RoomDatabase.Callback tun, das in der neuesten Version der Raumbibliothek verfügbar ist.

Sie müssen die onCreate- und onOpen-Methode von RoomDatabase.Callback implementieren und wie unten gezeigt zu RoomDatabase.Builder hinzufügen.

RoomDatabase.Callback

RoomDatabase.Callback rdc = new RoomDatabase.Callback(){ 
     public void onCreate (SupportSQLiteDatabase db){ 
     // do something after database has been created 
     } 
     public void onOpen (SupportSQLiteDatabase db){ 
     //do something every time database is open 
     } 
    }; 

auf Raum Datenbank-Builder Hinzufügen von Rückruf

yourDatabase = Room.databaseBuilder(context, 
          YourDatabase.class, "your db").addCallback(rdc).build(); 

Referenz: https://medium.com/@srinuraop/database-create-and-open-callbacks-in-room-7ca98c3286ab

Verwandte Themen