gpt4 book ai didi

android - 如何在不丢失现有数据的情况下升级Android应用程序第一版自己的SQLite数据库

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:33 25 4
gpt4 key购买 nike

我需要将我在市场上的 android 应用程序更新到下一个版本。下一个版本我需要在不丢失现有数据的情况下更新 sqlite 数据库。

在第一个版本中,我没有在运行时创建表,而是从“assets”文件夹中获取数据库文件并将其复制到我的应用程序的系统数据库路径中。引用这个链接 http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

我的应用程序的下一个版本我已​​经修改了现有的表列并添加了额外的记录并且也有一些新表。我已经更新了数据库并复制到 Assets 文件夹。

这适用于第一次购买该应用程序的用户,但不适用于现有用户,我的问题是如何在不丢失现有数据的情况下更新第一版用户数据库

山姆。

最佳答案

   @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion)
{
Log.w(TAG, "Upgrading database from version " + oldVersion
+ " to "
+ newVersion + ", which will destroy all old data");
if(oldVersion == 2 && newVersion == 3)
{
db.execSQL("ALTER TABLE xyz ADD bobby int default 0");
}
else
{
db.execSQL("DROP TABLE IF EXISTS xyz");
onCreate(db);
}
}
}

关于android - 如何在不丢失现有数据的情况下升级Android应用程序第一版自己的SQLite数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6695699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com