我开发了一个黑莓应用程序,在其中使用持久存储来保存一些数据。该应用程序已经转换市场。我正在第二个版本中创建一些新的 PersistentStorage 值。如果我从 BlackBerry App store 更新我的应用程序,这些数据会保留吗?否则数据会丢失?
最佳答案
如果您更改持久对象的类定义(例如添加、删除或更改数据成员的类型),那么您可能会丢失数据。系统将检测到结构的变化,并且必须删除类定义和该类的所有实例。
有两种方法可以解决此问题:
- 仅使用操作系统中定义的类(哈希表、字符串、int、float、double 等)来构建您需要的结构。 (这也会产生应用程序删除后数据仍然存在的副作用);
- 如果您需要使用新类,然后需要更改它,请创建一个使用不同持久对象 ID 的新类,并在启动期间检测用户是否在旧类下存储了数据。如果是,则将数据迁移到新类,并删除旧类。
关于blackberry - 存储在我的 PersistentObject 中的数据会在 Blackberry 中的应用程序更新时保留吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206748/