Я пытаюсь создать постоянную и общую переменную, которая будет отслеживать количество уведомлений, доступных пользователю в приложении Blackberry.Этот номер отображается на главном экране и должен сохраняться даже после выключения устройства, пока они сами не проверит приложение, а затем номер сбрасывается.Я использовал singleton для разделения переменной между фоновым процессом и самим приложением пользовательского интерфейса ниже:
import net.rim.device.api.system.RuntimeStore;
public class IconManager {
private static IconManager _instance;
private static final long GUID = 0xab4dd61c5d004c18L;
private int iconCount;
// constructor
private IconManager() {
iconCount = 0;
}
public static IconManager getInstance() {
if (_instance == null) {
_instance = (IconManager) RuntimeStore.getRuntimeStore().get(GUID);
if (_instance == null) {
IconManager singleton = new IconManager();
RuntimeStore.getRuntimeStore().put(GUID, singleton);
_instance = singleton;
}
}
return _instance;
}
public int getCount() {
return iconCount;
}
public void setCount(int count) {
iconCount = count;
}
}
В основном я использовал этот сайт, чтобы выяснить часть постоянного хранилища: http://supportforums.blackberry.com/t5/Java-Development/Storing-persistent-data/ta-p/442747
Есть ли альтернатива для реализации постоянного хранилища с учетом вышеуказанного временного хранилища?Первоначально я думал об использовании кода из примера Blackberry, но я не уверен, как это сделать.Из другого потока пользователь mparizeau написал следующее:
persistentCount = PersistentStore.getPersistentObject(0xdec6a67096f833cL);
synchronized (persistentCount) {
if (persistentCount.getContents() == null) {
persistentCount.setContents(new StoreInfo());
persistentCount.commit();
}
}
_data = (StoreInfo)persistentCount.getContents();
Теперь, когда вы хотите обновить его и сохранить в PersistentStore, вы можете получить что-то вроде:
_data.incElement();
synchronized(persistentCount) {
persistentCount.setContents(_data);
persistentCount.commit();
}
Можно ли это как-то использовать в приведенном выше коде?Я чрезвычайно новичок в разработке Java и BB, поэтому любая помощь будет оценена.