如何升级现有应用程序的新表?

时间:2011-11-23 10:54:01

标签: android sqlite

我发布了现有的应用程序,在升级过程中,我想在我的数据库中添加一个新表,但在升级应用程序时也不会丢失其他表中的数据。有人可以告诉我,(但如果你能告诉我一些例子),如何做到以及如何测试它。因为我浏览了论坛,但主要是讨论添加新列等等。我想我必须以某种方式使用alter table,但我并不了解所有内容。如果你能告诉我这个过程的步骤,我真的很感激。我用DBAdapter类扩展了SQLiteOpenHelper.Accept我的问题并尽快给我解决方案..

1 个答案:

答案 0 :(得分:1)

一切都发生在你的班级DBAdapter。在那里,您必须实现一个方法onUpgrade,它将您的新表添加到数据库中。这是执行此操作的框架:

class DBAdapter extends SQLiteOpenHelper {

    // Implement the other methods

    // This method is called when your application is being upgraded. 
    public void inUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.i(TAG, "adding table to the database") ;
        db.execSQL("CREATE TABLE MyNewTable(_id INTEGER, name TEXT)") ;
        Log.i(TAG, "upgrade done") ;
    }

您可以查看课程SQLiteOpenHelper

的文档