我正在尝试为黑莓编写应用程序而我正在使用持久性存储,但是当我重新启动设备时,数据会丢失。任何人都知道为什么会发生这种情况? 在此先感谢大家!
public static void add(Subscription s) throws IOException {
Vector subscriptions = SubscriptionsController.getSubscriptions();
if(subscriptions == null) subscriptions = new Vector();
subscriptions.addElement(s);
synchronized(SubscriptionsController.persistedSubscriptions) {
SubscriptionsController.persistedSubscriptions.setContents(subscriptions);
SubscriptionsController.persistedSubscriptions.commit();
}
}
答案 0 :(得分:2)
我假设(总是一个坏主意lol)你有子类PersistentStore / PersistentObject(因为你可以commit()等)? 你是否实现了Persistable(它不是由子类继承的)?
答案 1 :(得分:1)
SubscriptionsController不是Blackberry类。看起来您的意外行为是由于此类的实现。
如果您希望在设备重置期间保持对象状态,则需要使用PersistentStore API将对象序列化到Blackberry上的文件。 RIM网站上的This document解释了对PersistentStore