trong SQLiteOpenHelper có một phương thức được gọi một lần và chỉ một lần duy nhất, đó là onCreate phương pháp. vì vậy, nếu bạn chỉ cần thêm dữ liệu vào DB một lần, bạn phải thực hiện việc đó bên trong phương thức này.
Nhưng nếu vì lý do nào đó bạn muốn thêm nhiều dữ liệu hơn vào DB, bạn có thể làm điều đó trong onUpgrade phương pháp lần này.
lấy ví dụ đơn giản sau:
public class DatabaseHandler extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "dbName";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "tableName";
public MySQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
//this function called only once ever in the life of the app
@Override
public void onCreate(SQLiteDatabase database) {
//Create database query
database.execSQL("create table " + TABLE_NAME + " (column1 type, columun2 type...); ");
//Insert query
database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//add more insert query if you need to add more datas after, but you have first to upgrade your DATABASE_VERSION to a higher number
}
}