gpt4 book ai didi

java - 安卓 SQLite : Using onUpgrade to update data?

转载 作者:搜寻专家 更新时间:2023-11-01 09:07:18 24 4
gpt4 key购买 nike

假设我有一个 SQLite 数据库,我在一个单独的程序中创建并包含在应用程序启动时要复制的 Assets 文件夹中(假设它尚不存在)。数据库包含两列,A 和 B。假设 A 包含位置列表(巴黎、伦敦、纽约等——用户无法编辑的内容),B 存储用户访问相应位置的次数(用户可以在应用程序中对其进行编辑)。

现在假设我设法在我的原始数据库中拼错了一个位置的名称。我进入我的 SQLite 浏览器,快速修复该条目,保存它,并替换我的 Assets 文件夹中的旧数据库文件。如何更新已复制的数据库中的 A 列以反射(reflect)我对 Assets 文件夹中现在只读的数据库所做的更改,而不删除它们存储的数据?

我最初的印象是使用 onUpgrade,但我看到有人说它只是用于更新数据库的架构。在这种情况下,我的模式没有改变,只有其中的一些数据......

最佳答案

让我们从头开始。当您使用构造函数 SQLiteOpenHelper 打开数据库时,它将从您那里获取版本信息。

如果数据库不存在,它会调用 onCreate 方法。如果现有数据库的版本低于您的版本,它会调用 onUpgrade 方法。

请阅读android documentation获取更多信息。

因此,您可以在 onCreate 方法中插入您的初始信息。您可以在 onUpgrade 方法中更改表格或向表格中插入一些附加信息。

希望对你有帮助..

关于java - 安卓 SQLite : Using onUpgrade to update data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990990/

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