我正在android中学习SQLite数据库,据我所知,我们通常使用下面的模式(见代码片段),我的理解是
- 当
NoteDbHelpeobj被实例化时,构造函数被调用,它会检查对应的数据库是否被创建。 - 如果没有,请创建数据库并调用
onCreate创建表。 - 如果是,看看我们是否需要升级数据库,如果是,调用
onUpgrade. 
我主要关心的是何时创建数据库,我认为它应该在构造函数中处理,我的理解是否正确?
    public class NoteDbHelper extends SQLiteOpenHelper{
    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "notes_db";
    public NoteDbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
     public void onCreate(SQLiteDatabase db) {
         String createNoteTableSql = "CREATE TABLE ...";
         db.execSQL(createNoteTableSql);
     }
    @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Drop older table if existed
         db.execSQL("DROP TABLE IF EXISTS " + NOTE_TABLE_NAME);
        // Create tables again
        onCreate(db);
    }