2013-05-07 58 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