Mar*_*222 1 sql android android-room
I am creating an android app in java that uses room SQLite to store data. The app have two tables:
I want to add default values for course_name
entity so when the user open the app find the courses.
For example :
Math - Sport - Art - Music
@Entity
public class CoursesTable {
@PrimaryKey(autoGenerate = true)
int course_id;
String course_name;
}
Run Code Online (Sandbox Code Playgroud)
To insert data on first run / after db creation, you can use RoomDatabase.Callback
.
You can run scripts after database is created or run every time database is opened using RoomDatabase.Callback, this class is available in the latest version of the Room library.
您需要实现RoomDatabase.Callback的onCreate和onOpen方法,并将其添加到RoomDatabase.Builder中,如下所示。
yourDatabase = Room.databaseBuilder(context, YourDatabase.class, "your db")
.addCallback(rdc)
.build();
RoomDatabase.Callback rdc = new RoomDatabase.Callback() {
public void onCreate (SupportSQLiteDatabase db) {
// ADD YOUR "Math - Sport - Art - Music" here
}
public void onOpen (SupportSQLiteDatabase db) {
// do something every time database is open
}
};
Run Code Online (Sandbox Code Playgroud)