【发布时间】:2013-03-22 12:34:06
【问题描述】:
我有一个 BlackBerry 应用程序,当首次安装该应用程序时,它会以注册屏幕启动(应用程序加载)。稍后,应用程序将与主屏幕一起加载。注册屏幕仅在首次加载时出现。我通过在PersistentStore 中存储boolean 值来实现这一点。如果该值存在,则不会出现注册屏幕。
PersistentStoreHelper.persistentHashtable.put("flagged",Boolean.TRUE);
PersistentStoreHelper.persistentObject.commit();
UiApplication.getUiApplication().pushScreen(new MyScreen());
我知道,为了在删除/卸载应用程序时删除 Persistent Store,我必须使 Hashtable 成为我自己的子类,因此我在单独的类中声明了 Hashtable:
public class PersistentStoreHelper extends Hashtable implements Persistable{
public static PersistentObject persistentObject;
public static final long KEY = 0x9df9f961bc6d6daL;
public static Hashtable persistentHashtable;
}
但这并没有帮助,boolean 的标志值不会从PersistentStore 中清除。请指教。
EDIT:当我将上面的 PersistentStoreHelper 类更改为
public static PersistentObject persistentObject =
PersistentStore.getPersistentObject(KEY);
并删除
PersistentStoreHelper.persistentObject =
PersistentStore.getPersistentObject(PersistentStoreHelper.KEY);
在保存boolean 值的B 类中,我观察到每次关闭应用程序时都会删除boolean 值。这不应该发生,并且只有在应用程序被删除/卸载时才应该删除该值。有什么指点吗?
【问题讨论】:
标签: blackberry persistent persistent-storage