为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕森王 2019-07-09 13:13:22
是否可以向Android上的SharedPreferences添加数组或对象我有一个ArrayList具有名称和图标指针的对象,我希望将其保存在SharedPreferences..我该怎么办?注意:我不想使用数据库
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

所以从android开发者站点数据存储:

用户偏好

共享偏好不严格地保存“用户首选项”,例如用户选择了什么铃声。如果您对为应用程序创建用户首选项感兴趣,请参阅PreferenceActivity,它为您提供了一个活动框架,用于创建用户首选项,用户首选项将自动持久化(使用共享首选项)。

所以我认为这是可以的,因为它只是被持久化的键值对。

对于最初的海报来说,这并不难。只需遍历数组列表并添加项即可。在本例中,为了简单起见,我使用了一个映射,但您可以使用数组列表并适当地更改它:

// my list of names, icon locationsMap<String, String> nameIcons = new HashMap<String, String>();nameIcons.put("Noel", "/location/to/noel/icon.png");nameIcons.put("Bob", "another/location/to/bob/icon.png");nameIcons.put("another name", "last/location/icon.png");SharedPreferences keyValues = getContext().getSharedPreferences("name_icons_list", Context.MODE_PRIVATE);SharedPreferences.Editor keyValuesEditor = keyValues.edit();for (String s : nameIcons.keySet()) {
    // use the name as the key, and the icon as the value
    keyValuesEditor.putString(s, nameIcons.get(s));}keyValuesEditor.commit()

您可以做一些类似的操作来再次读取键值对。如果这有用就告诉我。

最新情况:如果您使用的是API级别11或更高版本,则有一个方法写出字符串集


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 724 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信