我試圖在我的BlackBerry App中保存10個字符串值PersistentStore
。這個想法是在任何給定的時間保存最新的10個項目(字符串值)。當第10個值將被保存,11值類型的,它應該:持久存儲 - 保存,讀取和覆蓋數據
- 刪除的第一個條目
- 移動順序
- 保存11項作爲第十屆值 以上,其餘9項
這是我想要遵循的邏輯。隨着條目的不斷增加,我將存儲最多10個條目,這將是最新的10個值。我試圖通過saveChatMsg()
方法保存String
值:
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條消息的順序不正確;最新的消息可能會顯示爲第6個值而不是10個等。請注意和建議如何實施。
謝謝。這很有幫助。但是,我遇到了持久性問題。當應用程序被刪除/卸載並重新安裝時,保存爲持久性的字符串值不會被刪除。在這裏問這個問題還可以,或者我應該把這個問題作爲一個單獨的問題來解決?我在這裏問,因爲我保存的字符串值是持久的。 – Sarah
這行代碼中的「chatMsgs」是什麼:Vector msgs = PersistentStoreHelper.persistentHashtable.get(「chatMsgs」)。我需要在PersistentStore類中創建一個向量嗎? – Sarah
@Sarah,是的,正如你在我上面的小圖*看到的,你應該把一個Hashtable放入PersistentStore。在Hashtable中應該是一個Vector,並且Vector中應該是10個字符串。所以,無論你初始化你的PersistentStore,你都會爲''chatMsgs''鍵插入一個Vector,而不是存儲10個String對象,全部使用它們自己的鍵('「chatMsg00」''''chatMsg01「'等) – Nate