我正在學習使用this tutorial在Android上使用Sqlite。我無法理解一些代碼。在Android上使用Sqlite
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
我在我的活動中創建了一個新的DatabaseHandler對象。構造函數中的超級用戶是SQLiteOpenHelper構造函數。代碼工作的很好,它創建一個新的數據庫,如果沒有的話,它會使用舊數據庫(如果存在的話)。我想對這段代碼做一些修改(我想把不同的表添加到一個數據庫中),但我不明白這個工作到底如何,構造函數是如何知道它應該創建一個新的數據庫還是使用現有的數據庫?
好的。但是什麼時候創建表的onCreate函數被調用? –
如果沒有數據庫存在,那麼在調用'getWritableDatabase()'後,它只能由SQLiteOpenHelper調用。 – Sam
但是如果想要在現有數據庫中創建新表,該怎麼辦。 –