PersistentStore
BlackBerry アプリに10 個の文字列値を保存しようとしています。アイデアは、常に最新の 10 個の項目 (文字列値) を保存することです。最初の 10 個の値が保存され、11 番目の値が入力されると、次のようになります。
- 最初のエントリを削除
- 残りの 9 つのエントリを順序の上に移動します
- 11 番目のエントリを 10 番目の値として保存します
これが私が従いたいロジックです。エントリが増え続けるにつれて、最新の 10 個の値となる最大 10 個のエントリを保存します。String
メソッドで値を保存しようとしましたsaveChatMsg()
:
public void saveChatMsg()
{
if(xx<10)
{
PersistentStoreHelper.persistentHashtable.put("chatMsg"+xx,chatToSave);
xx=xx+1;
if(xx==10)
{
PersistentStoreHelper.persistentHashtable.put("xxValue",Integer.toString(0));
}
else
{
PersistentStoreHelper.persistentHashtable.put("xxValue",Integer.toString(xx));
}
}
}
ここで、xx は 0 から 9 までの int です。ただし、メッセージを保存している間、メッセージを取得すると時系列で表示されません。このメソッドは 4 つの異なる場所で呼び出されるため、保存された 10 個のメッセージは正しい順序ではありません。最新のメッセージは、10 ではなく 6 番目の値として表示される場合があります。実装方法についてコメントとアドバイスをお願いします。