存储在我的PersistentObject中的数据是否会保留在Blackberry的App更新中。

时间:2012-06-26 11:52:12

标签: blackberry persistent-storage

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

1 个答案:

答案 0 :(得分:3)

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

解决此问题的方法有两种:

  1. 仅使用操作系统中定义的类(HashTables,Strings,int,float,double等)来构建所需的结构。 (这将导致数据的副作用持续超过应用程序删除);
  2. 如果您需要使用新类,然后需要更改它,请创建一个使用不同持久对象ID的新类,并在启动期间检测用户是否在旧类下存储了数据。如果是这样,请将数据迁移到新类并删除旧类。