ユーザーの要求に応じて、DBに新しいテーブルを動的に作成する方法を見つけようとしています。私の現在のDBクラスは次のコードで動作します。新しいテーブルを動的に作成できるようにこれを変更する方法を理解しようとしています。私のアイデアの1つは、このコードを使用して、最初にonCreateを使用して、将来のテーブルの名前を保持するテーブルを作成することでした。そこから、ユーザーが新しいテーブルを入力すると、そのテーブルをテーブル名を保持する現在のテーブルに追加し、そこからそれを選択して、その特定の名前で実際にテーブルを作成するために使用します。それが実際に機能するかどうかはわかりませんが、それは私がちょうど考えたものであり、皆さんがどう思うかを見たかったのです。
private static class DbHelper extends SQLiteOpenHelper{
/* Constructor */
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db){
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_FRONT + " TEXT NOT NULL, " +
KEY_BACK + " TEXT NOT NULL);"
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2){
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);
}
}