У меня есть приложение BlackBerry, которое запускается (загрузка приложения) с помощью экрана регистрации, когда приложение впервые установлено. Позже приложение загрузится с главного экрана. Экран регистрации появляется только при первой загрузке. Я достигаю этого, сохраняя значение boolean
в PersistentStore
. Если это значение существует, то экран регистрации не появится.Удалить Постоянное Сохранять данные, когда приложение удалено или удалено
PersistentStoreHelper.persistentHashtable.put("flagged",Boolean.TRUE);
PersistentStoreHelper.persistentObject.commit();
UiApplication.getUiApplication().pushScreen(new MyScreen());
Я отдаю себе отчет в том, что для того, чтобы удалить Persistent магазина на удаление/удаления приложения, я должен сделать Хеш подкласс моих и поэтому я объявил 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);
из класса B, где boolean
значение спасаемых, я замечаю, что значение boolean
удаляется каждый раз, когда приложение закрывается. Этого не должно произойти, и значение должно быть удалено только в том случае, если приложение будет удалено/удалено. Любые указатели?
Спасибо @Nate. Я пытаюсь это сделать. Раньше я вызывал следующий способ getContents: 'if (PersistentStoreHelper.persistentObject.getContents() == null) { \t PersistentStoreHelper.persistentHashtable = new Hashtable(); \t PersistentStoreHelper.persistentObject.setContents (PersistentStoreHelper.persistentHashtable); } else { \t PersistentStoreHelper.persistentHashtable = (Hashtable) PersistentStoreHelper. persistentObject.getContents(); ' \t} Я не могу редактировать:' persistentHashtable = (MyAppsHashtable) persistentObject.getContents(); 'Как это сделать? – Sarah
@Sarah, см. Мое второе обновление в ответе выше. Благодарю. – Nate
Я работаю с Редактированием, но не помогал; Я получаю несоответствие типа: 'Невозможно преобразовать из Hashtable в PersistentStoreHelper.MyAppsHashtable'. Не могли бы вы помочь? EDIT: проблема теперь находится в 'PersistentStoreHelper.persistentObject.setContents (PersistentStoreHelper.persistentHashtable);'. Эта строка дает ошибку: persistentHashtable не может быть разрешен или не является полем. – Sarah