【问题标题】:clarification on blackberry persistent store关于黑莓持久存储的说明
【发布时间】:2013-05-07 12:38:13
【问题描述】:

我有一个已经部署的黑莓应用程序,我目前正在对该应用程序进行更新。在现有应用程序中,我使用存储 3 个原语(int、String 和 String)的持久存储。在此更新中,我决定向持久存储添加一个新字符串。我的问题是,当用户升级时,“新”字符串会以某种方式影响应用程序吗?应用程序是否只是简单地将新字符串添加到现有持久存储中,还是会完全擦除现有持久存储并因为新字符串而创建一个新的?谢谢

【问题讨论】:

    标签: blackberry


    【解决方案1】:

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

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

    创建这样一个类的最好方法是扩展一个集合类 - 例如 IntHashtable 或 Hashtable 或 Vector 并使用它来存储您的设置数据。

    【讨论】:

    • 感谢您的澄清,我会听从您的建议。
    • +1。就个人而言,我的应用程序基本上总是将数据存储在 extends Hashtable 的根类中,并将持久数据保存为键值对。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多