我正在尝试创建一个系统来保存已在我的应用程序中玩过的关卡列表。
我一直在使用 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/