【问题标题】:How to maintain order of insertion to Shared Preferences?如何维护共享首选项的插入顺序?
【发布时间】:2018-03-20 06:23:05
【问题描述】:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();

上面的代码是否足以保留插入顺序???

【问题讨论】:

  • 插入顺序是什么意思??
  • 你的意思是你把同一个键写了两次?
  • 我没有在您的代码中看到多个插入。如果只有一个插入,则没有顺序。
  • @smit(插入顺序)我的意思是共享首选项中的第一个输入数据应该在列表视图的最后位置
  • 没有 @Henry 我对所有值都有唯一键

标签: android sharedpreferences


【解决方案1】:

我认为您并不完全了解 SharedPreferences 的工作原理。没有顺序。与地图类似,每个条目都有一个键和一个值。如果您使用已存在的键向 SharedPreferences 写入值,则新值将覆盖旧值。如果您从 SharedPreferences 读取数据,顺序无关紧要,因为您使用键读取数据。您不能迭代 SharedPreferences 中的数据。

因此,当您打算只保存最新/最高分时,答案是:是的,该代码将起作用。但是,如果您想保存诸如高分列表之类的内容,您的解决方案将无法正常工作。然后,您需要为要保存的所有值提供唯一键。

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    相关资源
    最近更新 更多