Android-在数据库更新后保留数据

Android-在数据库更新后保留数据,android,android-sqlite,Android,Android Sqlite,我有一个应用程序,允许用户在数据库中添加一些数据 如果我想对应用程序进行更新,并对数据库进行一些更改,则更新后将重新创建数据库,因此,用户将丢失他/她在应用程序上创建的所有数据 有没有办法在重新创建数据库之前“保留”用户数据? 谢谢 使用public abstract void onUpgrade(SQLiteDatabase db,intoldversion,intnewversion) 当数据库需要升级时调用。实现应使用此方法删除表、添加表或执行升级到新架构版本所需的任何其他操作 SQLit

我有一个应用程序,允许用户在数据库中添加一些数据

如果我想对应用程序进行更新,并对数据库进行一些更改,则更新后将重新创建数据库,因此,用户将丢失他/她在应用程序上创建的所有数据

有没有办法在重新创建数据库之前“保留”用户数据?


谢谢

使用
public abstract void onUpgrade(SQLiteDatabase db,intoldversion,intnewversion)
当数据库需要升级时调用。实现应使用此方法删除表、添加表或执行升级到新架构版本所需的任何其他操作

SQLite ALTER TABLE文档可以在这里找到。如果添加新列,可以使用ALTERTABLE将它们插入到活动表中。如果重命名或删除列,可以使用ALTER TABLE重命名旧表,然后创建新表,然后用旧表的内容填充新表


此方法在事务中执行。如果引发异常,所有更改都将自动回滚。

复制另一个数据库中的旧数据检查版本后在SQLiteDatabaseHelper的onUpgrade中使用“Alter”。谢谢Kirill,因此每次我要更新数据库时都必须更改方法
onUpgrade
?是,如果希望用户在迁移时仍保留旧数据。也不要忘记使用数据库版本号。有很多关于这方面的教程和优秀的文档: