1

我有一个已经部署的黑莓应用程序,我目前正在对该应用程序进行更新。在现有应用程序中,我使用存储 3 个原语(int、String 和 String)的持久存储。在此更新中,我决定向持久存储添加一个新字符串。我的问题是,当用户升级时,“新”字符串会以某种方式影响应用程序吗?应用程序是否只是简单地将新字符串添加到现有持久存储中,还是会完全擦除现有持久存储并因为新字符串而创建一个新的?谢谢

4

1 回答 1

3

如果要持久化的对象是您自己的类,并且您向其中添加了一个变量,那么它将完全清除现有数据。原因是一旦类发生变化,系统就不能再反序列化你的旧对象了。处理当前情况,如果要保留原始数据,请不要对原始类进行任何更改。

在另一个持久对象中添加附加变量。这次请注意确保您的对象可以处理您将来可能需要保存的其他数据。

最好的方法是通过扩展一个集合类来创建这样的类 - 例如 IntHashtable 或 Hashtable 或 Vector 并使用它来存储您的设置数据。

于 2013-05-07T04:38:13.237 回答