Android:保存int列表的最有效方法

标签 android list editor sharedpreferences

我正在尝试创建一个系统来保存已在我的应用程序中玩过的关卡列表。

我一直在使用 Editor 和 SharedPreferences 在手机上存储信息。

但是现在我有一个要保存的 int 列表

我一直在想办法用

 DataOutputStream out;

        //Size
        int resultSize = results.size();
        out.writeInt(resultSize);

        //All the levels ID
        for (int idx = 0; idx < resultSize; idx++){
            //l().debug("Lvl ID: "+results.get(idx));
            out.writeInt(results.get(idx));
        }

但是我不知道如何将其存储在共享首选项中。

我也很关心大小,这个 ID 列表可能会变得非常大,所以我想优化存储的数量。(因此是 DataStream)

任何想法

杰森

最佳答案

您可以遍历您的列表并从整数构造一个逗号分隔的字符串。例如。 “1,2,15..etc”,然后将此字符串写入 SharedPreferences。当您读回它时,您显然必须对其进行标记化。

关于Android:保存int列表的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5883932/

相关文章:

安卓布局 : How to add bottom and right border into linear layout together?

android - 为 Android 构建 FFmpeg

Python 列表迭代器行为和 next(iterator)

java - 如何打开一个新的具有特定光标偏移位置的eclipse编辑器

plugins - 邪恶的 Emacs : is there a way to disable vim-like keys in «insert» mode?

android - 使用 Google Cloud Messenger token 订阅主题,收到无效参数

java - 从 Android 7 开始,WebView 显示空白页面

python - 检索列表中的所有对象是否对python中的属性具有相同的值

c# - 从数组创建选择列表

java - 从 IntelliJ IDEA 中删除黄色类名弹出窗口(面包屑)