1

我正在尝试为黑莓编写一个应用程序并且我正在使用持久存储,但是当我重新启动设备时,数据会丢失。有人知道为什么会这样吗?
提前感谢大家!

    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();
        }
    }

4

2 回答 2

2

我假设(总是一个坏主意哈哈)你有子类 PersistentStore /PersistentObject (因为你可以提交()等)?您是否实现了 Persistable(它不被子类继承)?

于 2011-04-18T13:46:36.643 回答
1

据我所知,SubscriptionsController 不是 Blackberry 类。看起来您的意外行为是由于此类的实现。

如果您希望在设备重置时保持对象状态,您需要使用PersistentStore API,它将对象序列化到 Blackberry 上的文件中。RIM 网站上的这份文档解释了PersistentStore

于 2011-04-18T08:32:20.440 回答