2

我开发了一个黑莓应用程序,我在其中使用持久存储来保存一些数据。该应用程序已经投放市场。我在第二个版本中创建了一些新的 PersistentStorage 值。如果我从 BlackBerry App Store 更新我的应用程序,这些数据会保留吗?或者数据会丢失?

4

1 回答 1

3

如果您更改持久对象的类定义(例如添加、删除或更改数据成员的类型),那么您可能会丢失数据。系统将检测到结构的变化,并且必须删除类定义和类的所有实例。

有两种方法可以解决这个问题:

  1. 仅使用 OS 中定义的类(HashTables、Strings、int、float、double 等)来构建您需要的结构。(这也会产生数据在应用程序删除后仍然存在的副作用);
  2. 如果您需要使用新类,然后需要更改它,请创建一个使用不同持久对象 ID 的新类,并在启动期间检测用户是否有数据存储在旧类下。如果是这样,将数据迁移到新类并删除旧类。
于 2012-06-26T12:07:38.733 回答