私は現在、自分のアプリケーションに2つのエントリポイント間の変数を共有するためのコードを持っています。変数は、ユーザーがアイコンの横に、ホーム画面上に表示されているどのように多くの注意を示すために使用iconCount変数です。私がこれを行う方法は、シングルトンを使用しており、現時点で正常に動作するようです。問題は、私は完全にオフにして、携帯電話の電源を入れたときに、私はそれらの通知がゼロにリセットしたくないということになりました。 7つの通知がある場合は、デバイスを再起動しても7つの通知が必要です。このために私はしばらくの間研究してきた永続的な店舗統合が必要であるようです。ブラックベリーJavaでPersisentストアの開発
これまでのところ、裸のシングルトンのための私のコードは次のとおりです。
public class MyAppIndicator{
public ApplicationIndicator _indicator;
public static MyAppIndicator _instance;
MyAppIndicator() {
setupIndicator();
}
public static MyAppIndicator getInstance() {
if (_instance == null) {
_instance = new MyAppIndicator();
}
return(_instance);
}
public void setupIndicator() {
//Setup notification
if (_indicator == null) {
ApplicationIndicatorRegistry reg = ApplicationIndicatorRegistry.getInstance();
_indicator = reg.getApplicationIndicator();
if(_indicator == null) {
ApplicationIcon icon = new ApplicationIcon(EncodedImage.getEncodedImageResource ("notificationsdemo_jde.png"));
_indicator = reg.register(icon, false, true);
_indicator.setValue(0);
_indicator.setVisible(false);
}
}
}
public void setVisible1(boolean visible, int count) {
if (_indicator != null) {
if (visible) {
_indicator.setVisible(true);
_indicator.setValue(count); //UserInterface.incrementCount()
} else {
_indicator.setVisible(false);
}
}
}
}
私は永続ストレージを実装する方法を見つけ出すためにブラックベリーのチュートリアルを使用している:http://supportforums.blackberry.com/t5/Java-Development/Storing-persistent-data/ta-p/442747
今、私は先に進む前に、私は私のコーディングは完全に間違っているかもしれないので、私はJavaの開発に非常に新しいです強調するが、ここで私が何をしようとしたものです必要があります。
public void setVisible1(boolean visible, int count) {
if (_indicator != null) {
if (visible) {
_indicator.setVisible(true);
_indicator.setValue(count); //UserInterface.incrementCount()
StoreInfo info = new StoreInfo();
info.incElement();
synchronized (persistentCount) {
//persistentCount.setContents(_data);
persistentCount.commit();
}
} else {
_indicator.setVisible(false);
}
}
}
static {
persistentCount = PersistentStore.getPersistentObject(0xdec6a67096f833cL);
synchronized (persistentCount) {
if (persistentCount.getContents() == null) {
persistentCount.setContents(new Vector()); //don't know what to do with this?
persistentCount.commit();
}
}
}
private static final class StoreInfo implements Persistable{
private int iconCount;
public StoreInfo(){}
public int getElement(){
return (int)iconCount;
}
public void incElement(){
iconCount++; //persistently increment icon variable
}
public void resetElement(){
iconCount=0; //when user checks application
}
}
コードabov永続的な部分を実装するのに問題があるため、私は何とか期待しています。誰かがこれを達成するためのアイデアやインプットを持っているなら、助けてください。もちろん事前に感謝します。
お返事ありがとうございます、私は今あなたの例を少し参考にしています。私はちょうど変数を示しており、必ずしも値を設定して対処してきたクラスを実現したので、私は進展せずに時間のカップルのためにこれをしてきました。私はこれを別のクラスであると考えて別の質問を開くのが適切だろうと思いますか?しかし、助けてくれてありがとう、それは多くをクリアする! – user1152440