在upUpgrade android上添加新表

时间:2011-09-01 19:19:03

标签: android database sqlite upgrade

在升级期间,我想在我的数据库中添加一个新表,但在升级应用程序时也不会丢失其他表中的数据。有人能告诉我,(但如果你能告诉我一些例子的话)这是怎么做的。因为我浏览了论坛,但主要是讨论添加新列等。我想我必须以某种方式使用alter table,但我不明白一切。如果你能告诉我这个过程的步骤,我将非常感激。提前谢谢你。

2 个答案:

答案 0 :(得分:4)

如果您只想添加新表而不修改任何现有表,则可以在onUpgrade方法中创建新表。这样就可以保持现有的表格不受影响。

编辑:更好的是,像往常一样在onCreate中添加表格,然后在onUpgrade中调用onCreate

答案 1 :(得分:1)

尝试在Android中使用SQLiteOpenHelper。它有onCreate和onUpgrade的方法。

样品:

public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {

    Maas360Logger.i(loggerName, "upgrading database "+oldVersion+" "+newVersion);
    try {
        database.beginTransaction();
        for (int i = oldVersion + 1; i <= newVersion; i++) {
            // Future schema changes has to go into this loop

维护数据库版本以处理升级