Java 给定运行时存储中的持久存储
我正在尝试创建一个持久且共享的变量,该变量将跟踪黑莓应用程序中用户可用的通知数量。该号码显示在主屏幕上,即使在设备关闭后也应保留,直到他们自己检查应用程序,然后重置该号码。我一直在使用单例在后台进程和 UI 应用程序本身之间共享变量,如下:
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 开发非常陌生,因此我们将不胜感激。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您不想使用 RunTimeStore,因为您希望即使在设备关闭后信息也能保留。来自此页面
尝试这样的事情:
I don't think you want to use RunTimeStore, since you want to the information to persist even after the device is turned off. From this page
Try something like this:
Blackberry OS 5 及更新版本内置了 SQLite。您可以使用它来代替持久存储。 (它有一个类似 jdbc 的 API)。 BBOS 5 已经发布有一段时间了。
Blackberry OS's 5 and newer have SQLite built in. You can use that instead of the persistent store. (It has a jdbc-like API). BBOS 5 has been out for quite some time now.