我正在使用一个使用SQLite
数据库存储数据的Android应用程序。我有"喜欢"数据库中的表,用于存储特定用户的喜欢的项目。
问题是当用户获得此应用程序的更新,然后我想更新数据库,除了"收藏夹"表,因为它将包含用户特定的收藏项。
修改
现在我知道我可以更新onUpgrade()
数据库SQLite
事件中某些表的记录,但我真的不知道如何在应用程序中管理两个数据库?我在Google上搜索过但没有想到这么做,有很多例子可以将数据从资产文件夹复制到新数据库。
我必须从"现有数据库"中的表中选择所有记录。并复制到"新数据库"的表格。表名可能与两个数据库相同。
答案 0 :(得分:2)
更新Android应用和数据库有两个方面:
1)如果您只是升级您的应用并不要更改您的DATABASE_VERSION
(当您从{{实现类后代的构造函数时,最后一个参数1}}) - 旧数据库保留,您可以使用它而无需任何其他操作
2)如果更改您的SQLiteOpenHelper
- 在DATABASE_VERSION
的实施中,方法SQLiteOpenHelper
可能如下所示:< / p>
onUpgrade()
因此,您是否可以放桌或进一步使用它
更多 - 您可以决定如何处理@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// RUN YOUR SQL SCRIPTS:
db.execSQL(DBContract.Table1.SQL_DROP_TABLE);
...
// JUST DON'T DROP YOU FAVORITE TABLE HERE
// if required call onCreate():
onCreate(db);
}
和oldVersion
的价值
的修改 如果(根据您的评论)您想要在数据库之间移动数据,您可以查看this post
答案 1 :(得分:0)
如果您已将数据库复制到应用数据或SD卡中,即使在更新数据后它仍将保留。***如果用户未从应用设置中手动清除数据
希望我理解你的问题。如果不是分享它会尝试