Android SQLite将用户定义的表名添加到预制数据库

Android SQLite将用户定义的表名添加到预制数据库,android,sqlite,Android,Sqlite,这是我的第一篇帖子,如果我做错了什么,请原谅我。我在我的资产文件夹中有一个数据库,我在启动时将其带到我的应用程序中,然后我可以通过在onUpgrade中运行此代码来创建一个新表(只要版本不匹配) DbHelper.addTable();只需将数据库版本增加1。(它曾经做过其他事情,这就是为什么名字叫leading小姐)。是否可以让onUpgrade在按下按钮后立即运行(只要DbHelper.addTable();运行,因为现在我的数据库只在我使用另一种方法查看信息后才会更新)对于我的操作方法以及

这是我的第一篇帖子,如果我做错了什么,请原谅我。我在我的资产文件夹中有一个数据库,我在启动时将其带到我的应用程序中,然后我可以通过在onUpgrade中运行此代码来创建一个新表(只要版本不匹配)


DbHelper.addTable();只需将数据库版本增加1。(它曾经做过其他事情,这就是为什么名字叫leading小姐)。是否可以让onUpgrade在按下按钮后立即运行(只要DbHelper.addTable();运行,因为现在我的数据库只在我使用另一种方法查看信息后才会更新)对于我的操作方法以及您推荐的任何其他方法的任何反馈都将不胜感激,因为我是新手。谢谢

当您使用新版本初始化SQLiteOpenHelper时,将调用
onUpgrade()
onUpgrade()
当您使用新版本初始化
SQLiteOpenHelper
时,将调用
onUpgrade()
。你做到了吗?是的,我做到了,然后运行了.open和.close方法,它似乎正在更新,这很简单呵呵:好的。我将把我的评论移到回答部分。
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();
            }
        }


    });