2010-10-05 48 views
2

我創建了一個天氣小部件。我將其配置存儲在SharedPreferences中。小部件由服務更新。我將天氣信息與預測保持在一個陣列中。在電話關閉之後,我發現數組值已經消失,也許系統暫停了?服務。有沒有辦法將數組存儲在SharePreferences中,所以它更加粘性。Android Sharedpreferences和數組

+0

無論API級別如何,請檢查http://sherifandroid.blogspot.com/2012/05/string-arrays-and-object-arrays-in.html – 2012-06-14 10:02:59

回答

4

當然 - 或者想出一種方法來將您的對象從可以存儲在SharedPreference中的字符串中序列化/反序列化(如果它是一個簡單的數字數組,例如,只需對逗號進行快速拆分/這樣做;基本的JSON serialization /反序列化可能適用於稍微複雜的數據),或者使用標準Java serialization將您的對象轉換爲字節流,並在需要時可以讀取。但是,如果您真的在處理大量結構化數據,請認真考慮使用Android對SQLite的出色內置支持,儘管這樣做有點多。

+0

感謝您的快速響應。我不知道序列化,但想知道,因爲是一串字符串,遍歷數組並將每個元素作爲一對放入SharedPreferences中。所以我可以使用for(i = 0; i John 2010-10-05 15:17:31

+0

當然,儘管可能比分割字符串更多的工作,因爲您還必須遍歷所有的sharedPreferences進行反序列化。 – 2010-10-05 15:26:27

+0

是的,這將是更多的工作,網上的任何示例序列化字符串數組,然後再回來?感謝所有的信息。 – John 2010-10-05 16:56:53