【问题标题】:Retrieving values from a SharedPreferences string set从 SharedPreferences 字符串集中检索值
【发布时间】:2016-09-26 08:14:33
【问题描述】:

在开发我的应用程序时,我发现在共享首选项中保存多个值(如数组)的唯一方法是使用集合。问题是,由于整套东西对我来说都是新的,我真的不知道如何从中检索值,并将值放在动态文本视图中。如果有人能告诉我检索值的正确方法,我会很高兴。

【问题讨论】:

  • 您可以使用 JSON 并将大多数对象序列化为字符串。然后你可以存储字符串而不是集合。然后您可以稍后反序列化以获取您的对象

标签: android set sharedpreferences


【解决方案1】:

您可以在这里找到答案: Follow the link

从 API 级别 11 开始,您可以使用 putStringSet 和 getStringSet 来 存储/检索字符串集:

SharedPreferences pref = context.getSharedPreferences(TAG, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putStringSet(SOME_KEY, someStringSet);
editor.commit();

SharedPreferences pref = context.getSharedPreferences(TAG, Context.MODE_PRIVATE);
Set<String> someStringSet = pref.getStringSet(SOME_KEY);

设置接口有如下方法:

add() :允许将对象添加到集合中..
清除() : 从集合中移除所有对象。
size() : 返回大小 集合元素。
isEmpty() :如果集合有,则返回 true 元素。
iterator() :返回一个迭代器对象,用于 从集合中检索元素。
contains() :如果 元素来自指定的集合。

java set 接口示例。

Set s=new TreeSet();
        s.add(10);
        s.add(30);
        s.add(98);
        s.add(80);
        s.add(10); //duplicate value 
        s.add(99);
        Iterator it=s.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next());
        }

【讨论】:

  • 你说“SOME_KEY”是什么意思?集合中的位置?
  • 我已经知道如何获取集合本身,但我不知道如何获取集合中的值。
  • 我已经编辑了答案。希望有用。最好阅读有关 java Collection 的信息。每个java程序员都需要学习它们。祝你好运
  • 完美运行!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多