Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何维护插入到共享首选项的顺序?_Android_Sharedpreferences - Fatal编程技术网

Android 如何维护插入到共享首选项的顺序?

Android 如何维护插入到共享首选项的顺序?,android,sharedpreferences,Android,Sharedpreferences,上面的代码足以保留插入顺序吗?我想您还不完全了解SharedReference是如何工作的。没有秩序。与映射类似,每个条目都有一个键和一个值。如果使用已存在的键向SharedReferences写入值,则新值将覆盖旧值。如果您从SharedReferences读取数据,顺序并不重要,因为您使用键读取数据。您不能在SharedReferences中迭代数据 因此,当您打算只保存最新/最高的高分时,答案是:是的,该代码将起作用。但是,如果您想保存高分列表之类的内容,您的解决方案将不起作用。那么,对于

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

我想您还不完全了解SharedReference是如何工作的。没有秩序。与映射类似,每个条目都有一个键和一个值。如果使用已存在的键向SharedReferences写入值,则新值将覆盖旧值。如果您从SharedReferences读取数据,顺序并不重要,因为您使用键读取数据。您不能在SharedReferences中迭代数据


因此,当您打算只保存最新/最高的高分时,答案是:是的,该代码将起作用。但是,如果您想保存高分列表之类的内容,您的解决方案将不起作用。那么,对于所有要保存的值,您都需要唯一的键。

插入顺序是什么意思?您的意思是要将同一个键写入两次?我在代码中没有看到多次插入。如果只有一个插入,则没有顺序。@sumit(插入顺序)我的意思是共享首选项中的第一个输入数据应该位于listviewNo@Henry的最后一个位置。我对所有值都有唯一的键
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();