2011-03-27 28 views
0

我有要求將活動列表的內容保存到活動中,以便下次打開活動時,已添加的列表值仍然存在。我也希望能夠在我的應用程序的任何位置訪問列表的內容。在Android中保存列表的內容

顯然sharedPreferences只允許我保存字符串,我想保存字符串數組。達到此目的的最佳方法是什麼?

[是數據庫出這個??的唯一出路]

回答

1

我總是「包」更大的事情,以JSON,你的情況JSON數組可能是最好的主意。

因此,您將數據從列表中移動到JSONArray,將其存儲在您喜歡的位置,以及何時需要將它作爲JSONArray讀取(因爲所有JSON對象都可序列化爲字符串),並將構建您的列表它。或者,如果你可以,你甚至可以使用這個JSONArray,而不是將其轉換爲列表。

+0

我會需要一個「線程安全」的機制。這是默認持久嗎?或者我也必須做保存部分? – 2011-03-27 13:49:43

+0

SharedPreferences是線程安全的。我不確定事務機制是如何在這裏工作的,但是它看起來調用edit()來獲取編輯器不會阻止其他訪問,所以在SharedPreference上操作並在不同線程中調用commit()會導致最終你會從這個最後一個線程獲得這個值。但我不確定這是否是您的問題的答案。 – przemelek 2011-03-27 13:59:45