2013-05-07 49 views
1

我有一个已经部署的黑莓应用程序,目前我正在为应用程序进行更新。在现有应用程序中,我使用存储3个基元(int,String和String)的持久性存储。在此更新中,我决定将新的字符串添加到持久性存储中。我的问题是,当用户升级时,“新”字符串会不会影响应用程序?应用程序只是简单地将新字符串添加到现有的持久性存储中,还是会完全擦除现有的持久性存储并由于新的字符串而创建一个新的持久存储?谢谢关于黑莓持久性商店的澄清

回答

3

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

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

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

+0

感谢您的澄清,我会按照您的建议。 – user681443 2013-05-07 08:29:03

+0

+1。就我个人而言,我的应用程序基本上始终将数据存储在扩展Hashtable的根类中,并将持久数据保存为键值对。 – Nate 2013-05-07 08:46:21