我的Android应用程序中有一个表非常简单。有一个id和一些longs / int值。我有一段时间没有更新我的应用程序,但我正在研究一个巨大的,完全改版的版本。我想让应用程序完全独立于原始应用程序,但这可能会使当前用户失望。相反,我将把它作为最后一次迭代的重大升级。我想知道是否应该将所有数据复制到新表并删除旧表或只是修改现有表的模式并避免必须删除?
我遇到的另一个问题是......如果我要执行其中任何一项任务,我将如何使用固定的预定值来处理所有行中的新条目对应原始表?我想可能很难理解我真正要问的是什么。假设我希望将值“5”添加到已经创建的表中的新列的每一行。我可以轻松地这样做吗?如果是这样,怎么样?
修改 我会更具体,并为您提供我真正想做的事情。我有一张桌子。我们称之为Z. Z由自动增量int主键,int日期,数字价格,数字长度和数字量组成。我将添加另一个表X,它将具有自动增量int主键和名称的字符串值。在表Z中,我想添加属性:int type和int x_id(这将链接到X表中的字符串)。我如何使用onUpgrade()更改我的原始表Z然后使用2个变量(在Java中)填充新属性(type和x_id)?
答案 0 :(得分:1)
如果您更改表格的布局或创建新的布局取决于实际的更改和您的个人喜好,则该问题没有一般性答案。
您可以在 onUpgrade 方法中执行所有必要的升级/迁移任务 SQLiteOpenHelper 子类