我有一个包含整数值的 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)
调用填充您的空数组。
关于android - 将数组存储在 sharedpreferences 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714579/