Android 如何升级现有应用的新表?
朋友们Android 如何升级现有应用的新表?,android,sqlite,Android,Sqlite,朋友们 我发布了一个现有的应用程序,在升级过程中,我希望向数据库中添加一个新表,但在升级应用程序时不会丢失其他表中的数据。有人能告诉我(但如果你能给我一些例子)这是如何做到的,以及如何测试它。因为我已经浏览了论坛,但主要是关于添加新专栏等的讨论。我想我必须用ALTERTABLE来做,但我并不完全理解。如果您能告诉我这个过程的步骤,我将非常感激。我使用了DBAdapter类扩展SQLiteOpenHelper。接受我的问题并尽快给我解决方案。在您的类中发生的一切DBAdapter。在那里,您必须实
我发布了一个现有的应用程序,在升级过程中,我希望向数据库中添加一个新表,但在升级应用程序时不会丢失其他表中的数据。有人能告诉我(但如果你能给我一些例子)这是如何做到的,以及如何测试它。因为我已经浏览了论坛,但主要是关于添加新专栏等的讨论。我想我必须用ALTERTABLE来做,但我并不完全理解。如果您能告诉我这个过程的步骤,我将非常感激。我使用了DBAdapter类扩展SQLiteOpenHelper。接受我的问题并尽快给我解决方案。在您的类中发生的一切
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") ;
}
您可以查看该课程的文档为什么这么难。遵循相同的教程。您只需要在SQLShelper类的onUpgrade方法中添加另一个CREATESQL查询。何时调用onUpgrade方法?