2011-02-09 13 views
0

我對Android開發並不熟悉,並且正在嘗試學習一些愛好項目。我的應用程序只有相對較少的狀態,需要爲主要活動存儲才能讓應用程序正常恢復。此外,由於我的應用程序與一個web應用程序同步,我已經有了基於JSON的序列化邏輯,可以存儲我想要保存的所有狀態。使用SharedPreferences來存儲序列化對象的相對小(〜幾個KiB)字符串是否很好用?只使用內部存儲並寫入文本文件會更好嗎?感謝您的建議!SharedPreferences用於序列化?

回答

2

共享首選項是保存這種數據的好方法。我不知道在內部存儲中使用文件會更好。 (如果是很多數據,我會考慮在SD卡上使用文件。)

0

共享首選項用於存儲名稱值對,例如喜好。用來存儲這些數據的格式是一個簡單的XML文件:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?> 
<map> 
<string name="id1">text1</string> 
<string name="id2">textb</string> 
<string name="id3">text</string> 
</map> 

所以存放時,當你的字符串是隻大幾KB的產生(XML的)開銷數據關係不和在同一結構中的大字符串。 在這種情況下,使用例如簡單的JSON結構來存儲小數據集更有效率(您仍然可以使用json庫??)。

另一個缺點是,您無法將xml文件作爲java File對象訪問,因此您無法刪除它們。