2011-02-09 42 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对象访问,因此您无法删除它们。