我有一个已经部署的黑莓应用程序,我正在开发应用程序的更新。在现有的应用程序中,我使用存储3个基元(int,String和String)的持久存储。在此更新中,我决定将新String添加到持久性存储中。我的问题是,当用户升级时,“新”字符串是否会以某种方式影响应用程序?应用程序只是简单地将新String添加到现有的持久存储中,还是会完全擦除现有的持久存储并创建一个新的String,因为新的String?感谢
答案 0 :(得分:3)
如果要保留的对象是您自己的类并且您向其添加变量,那么它将完全消除现有数据。原因是一旦类更改,系统就不能再反序列化旧对象了。要处理当前情况,如果要保留原始数据,请不要对原始类进行任何更改。
在另一个持久对象中添加其他变量。这一次要注意确保您的对象可以处理将来可能需要保存的其他数据。
最好的方法是通过扩展集合类来创建这样的类 - 比如IntHashtable或Hashtable或Vector,并使用它来存储您的设置数据。