我想知道,在更新了应用程序的版本之后,PersistentObject\PersistentStore中存储的数据是否仍然存在。
我的用例:
1)发布版本0.1的应用程序。用户将数据保存到PersistentObject\PersistentStore中
2)版本0.2的发布应用程序。
在版本0.1中保存到PersistentStore\PersistentObject中的数据是否可用于0.2版本的应用程序?
发布于 2012-05-13 19:27:01
是的,只要持久化的类没有进行任何结构更改,它仍然可用。这意味着,如果希望持久性数据保持不变,则不能在版本之间添加或删除字段。
发布于 2013-08-15 00:46:07
在更新应用程序时,我发现确保此功能顺利运行的最佳方法是将所有持久数据存储在哈希表中。每一段数据都将由字符串键存储。通过该字符串键检索值。新版本的应用程序可以添加新的持久数据,只需添加对象,具有新的字符串键。
这允许您在将来具有一定的灵活性,同时在更改持久类( as Michael warned about )的基本格式方面没有问题。您的数据将始终是处于持久Hashtable中。
如果要确保在删除应用程序时删除持久数据,请使用应用程序包特有的哈希表容器
package com.mycompany.myapp;
import net.rim.device.api.util.Persistable;
import java.util.Hashtable;
public class Preferences extends Hashtable implements Persistable {例如,这个Preferences类的一个实例就是将传递给PersistentObject#setContents()的内容。
如果不希望删除持久数据,那么只需使用标准的java.util.Hashtable作为所有数据的容器。
https://stackoverflow.com/questions/10567318
复制相似问题