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