初めての投稿なので間違っていたらすみません。起動時にアプリに取り込む資産フォルダーにデータベースがあり、onUpgrade でこのコードを実行して新しいテーブルを作成できます (バージョンが一致しない限り)。
if(oldVersion < 2){ db.execSQL("CREATE TABLE IF NOT EXISTS " + WorkoutsList.DATABASE_TABLE_DYNAMIC + " (" +
WorkoutsDBAdapter.WORKOUTS_ROW_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
WorkoutsDBAdapter.WORKOUTS_NAME + " TEXT NOT NULL, " +
WorkoutsDBAdapter.WORKOUTS_WEIGHT + " DECIMAL NOT NULL, "+
WorkoutsDBAdapter.WORKOUTS_SETS + " INT NOT NULL, "+
WorkoutsDBAdapter.WORKOUTS_REPS + " INT NOT NULL);");}
ボタンをクリックしてこのコードを実行します
btnUpdate.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
String table = tableName.getText().toString();
DATABASE_TABLE_DYNAMIC = table;
if (table.trim().length() > 0) {
DbHelper.addTable();
}
else{
Toast.makeText(getApplicationContext(), "Please enter table name",
Toast.LENGTH_SHORT).show();
}
}
});
DbHelper.addTable(); 単純にデータベースのバージョンを 1 増やします。ボタンが押されるとすぐに onUpgrade を実行することは可能ですか (DbHelper.addTable(); が実行されるとすぐに、現在、データベースは別の方法を使用して情報を表示した場合にのみ更新されるため)私はこれに慣れていないので、それを行うことや、あなたが推奨する他の方法は大歓迎です。ありがとう!