是否可以向Android上的SharedPreferences添加数组或对象

是否可以向Android上的SharedPreferences添加数组或对象

我有一个ArrayList具有名称和图标指针的对象,我希望将其保存在SharedPreferences..我该怎么办?

注意:我不想使用数据库


慕森王
浏览 725回答 3
3回答

阿晨1998

所以从android开发者站点数据存储:用户偏好共享偏好不严格地保存“用户首选项”,例如用户选择了什么铃声。如果您对为应用程序创建用户首选项感兴趣,请参阅PreferenceActivity,它为您提供了一个活动框架,用于创建用户首选项,用户首选项将自动持久化(使用共享首选项)。所以我认为这是可以的,因为它只是被持久化的键值对。对于最初的海报来说,这并不难。只需遍历数组列表并添加项即可。在本例中,为了简单起见,我使用了一个映射,但您可以使用数组列表并适当地更改它://&nbsp;my&nbsp;list&nbsp;of&nbsp;names,&nbsp;icon&nbsp;locationsMap<String,&nbsp;String>&nbsp;nameIcons&nbsp;=&nbsp;new&nbsp;HashMap<String,&nbsp;String>();nameIcons.put("Noel",&nbsp;"/location/to/noel/icon.png");nameIcons.put("Bob",&nbsp;"another/location/to/bob/icon.png");nameIcons.put("another&nbsp;name",&nbsp;"last/location/icon.png");SharedPreferences&nbsp;keyValues&nbsp;=&nbsp;getContext().getSharedPreferences("name_icons_list",&nbsp;Context.MODE_PRIVATE);SharedPreferences.Editor&nbsp;keyValuesEditor&nbsp;=&nbsp;keyValues.edit();for&nbsp;(String&nbsp;s&nbsp;:&nbsp;nameIcons.keySet())&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;use&nbsp;the&nbsp;name&nbsp;as&nbsp;the&nbsp;key,&nbsp;and&nbsp;the&nbsp;icon&nbsp;as&nbsp;the&nbsp;value &nbsp;&nbsp;&nbsp;&nbsp;keyValuesEditor.putString(s,&nbsp;nameIcons.get(s));}keyValuesEditor.commit()您可以做一些类似的操作来再次读取键值对。如果这有用就告诉我。最新情况:如果您使用的是API级别11或更高版本,则有一个方法写出字符串集
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android