アプリが最初にインストールされたときに、登録画面で (アプリの読み込み) を開始する BlackBerry アプリケーションがあります。後で、アプリはホーム画面で読み込まれます。登録画面は初回ロード時のみ表示されます。boolean
に値を格納することでこれを達成していますPersistentStore
。値が存在する場合、登録画面は表示されません。
PersistentStoreHelper.persistentHashtable.put("flagged",Boolean.TRUE);
PersistentStoreHelper.persistentObject.commit();
UiApplication.getUiApplication().pushScreen(new MyScreen());
アプリの削除/アンインストール時に永続ストアを削除するには、ハッシュテーブルを独自のサブクラスにする必要があるため、別のクラスでハッシュテーブルを宣言しました。
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
、アプリが閉じられるたびに値が削除されることがわかります。これは発生すべきではなく、アプリが削除/アンインストールされた場合にのみ値を削除する必要があります。ポインタはありますか?