将数组存储在共享首选项中

2023-11-30

我有一个Array具有整数值。它会随着时间的推移而增长。它大约有最多 50 个值。 我想将数组持久存储,因此我考虑将其存储在SharedPreferences。 我知道其中不能存储复杂类型,但我也听说要序列化Array然后将其存储在SharedPreferences。 有人可以给我一个提示或者更好的示例代码如何做到这一点吗?


不是很有效的方法,但会完成工作:

SharedPreferences prefs = ...;
final int count = 50;
final String KEY_COUNT = "COUNT";
final String KEY_VAL_PREFIX = "VAL_";
int values[] = new int[count];

/*
 * ... put some stuff in values[] ...
 */

final Editor sped = prefs.edit();
sped.putInt(KEY_COUNT, count);
for (int i = 0; i < count; i++)
{
    sped.putInt(KEY_VAL_PREFIX + i, values[i]);
}
sped.commit();

然后,您可以通过从首选项中获取 KEY_COUNT 值来检索这些值,然后用以下内容填充空数组values2[i] = getInt(KEY_VAL_PREFIX + i, 0) calls.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数组存储在共享首选项中 的相关文章

随机推荐