我正在尝试创建一个持久和共享变量,以便跟踪黑莓应用程序中用户可用的通知数。此号码显示在主屏幕上,即使设备关闭后仍应保留,直到他们自己检查应用程序,然后重置号码。我一直在使用一个单独共享后台进程和UI应用程序本身下面的变量:Java中的永久存储区给定的运行时间存储
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
在给定上述运行时间存储的情况下是否有替代方案来实现持久存储?我原本以为使用黑莓代码的代码,但我很困惑如何做到这一点。从另一个线程用户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开发非常新,所以任何帮助,将不胜感激。
你究竟需要什么?明确指出.. – 2012-02-10 03:58:32