0

我的 android 应用程序中有一个非常简单的表。有一个 id 和几个 long/int 值。我有一段时间没有更新我的应用程序,但我正在开发一个巨大的、完全改进的版本。我曾想过让应用程序完全独立于原始应用程序,但这可能会让当前用户失望。相反,我会将其作为上一次迭代的重大升级。我想知道是否应该将所有数据复制到新表并丢弃旧表,或者只是修改现有表的架构并避免删除?

我的另一个问题是....如果我要执行这些任务中的任何一个,我将如何使用与原始表对应的所有行中的新条目的固定、预定值来执行此操作?我想可能很难理解我真正在问什么。假设我希望在已经创建的表中为每一行添加一个新列的值“5”。我可以轻松地这样做吗?如果是这样,怎么做?

编辑: 我会更加具体,并为您提供我真正想做的事情。我有 1 张桌子。我们称它为 Z。Z 由自动增量 int 主键、int 日期、数字价格、数字长度和数字金额组成。我将添加另一个表 X,它将有一个自动增量 int 主键和一个字符串值作为名称。在表 Z 中,我想添加属性:int 类型和 int x_id(这将链接到 X 表中的字符串)。我将如何使用 onUpgrade() 更改我的原始表 Z,然后用 2 个变量(在 Java 中)填充新属性(类型和 x_id)?

4

1 回答 1

1

如果您根据实际更改和您的个人喜好更改表的布局或创建新的布局,则该问题没有通用答案。

您可以在SQLiteOpenHelper子类的onUpgrade方法中执行所有必要的升级/迁移任务

于 2012-08-03T13:00:35.207 回答