我有一个 BlackBerry 应用程序,它在首次安装应用程序时启动(应用程序加载)并显示注册屏幕。稍后,应用程序将与主屏幕一起加载。注册屏幕仅在首次加载时出现。我通过将boolean
值存储在PersistentStore
. 如果该值存在,则不会出现注册屏幕。
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
flag 的值没有从PersistentStore
. 请指教。
编辑:当我将上述PersistentStoreHelper类更改为
public static PersistentObject persistentObject =
PersistentStore.getPersistentObject(KEY);
并删除
PersistentStoreHelper.persistentObject =
PersistentStore.getPersistentObject(PersistentStoreHelper.KEY);
从boolean
正在保存值的 B 类中,我观察到boolean
每次关闭应用程序时都会删除该值。这不应该发生,并且只有在应用程序被删除/卸载的情况下才应该删除该值。任何指针?