我有一个整数值的数组。它会随着时间而增长。它将近50个值。 我想存储数组持久性,因此我想将它存储在sharedpreferences中。 我知道没有复杂的类型可以存储在其中,但我也听说过要序列化数组,然后将其存储在sharedpreferences中。 有人可以给我一个提示或更好的示例代码如何做到这一点?将数组存储在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)
电话填写你的空数组检索这些值。
:你认为你可以帮我用这个?http://stackoverflow.com/questions/9209673/using-preferences-my-listview-is-empty-cant-store-data – George 2012-02-16 12:52:05
我只是做了,看看。 – Josh 2012-02-17 12:19:42
@Josh你可以包含getter和setter的整个代码吗? – HeartlessArchangel 2013-06-28 23:54:28
您可以使用ObjectSerializer来完成它。这里是讨论如何做。 Store Shared preferences
我会将您的数组转换为由逗号分隔的值的字符串。然后将字符串存储为单个键值对。
然后,当您想要提取数组时,只需使用split函数将字符串拆分为基于逗号分隔符的数组元素。
- 1. 存储在sharedPreferences中
- 2. 如何在Android中的SharedPreferences中存储整数数组?
- 3. 如何在SharedPreferences中存储整数数组?
- 4. SharedPreferences是否存储在数据库中?
- 5. 使用json将数据存储到sharedpreferences
- 6. 如何将SharedPreferences存储到文件中?
- 7. 如何在android中从sharedpreferences存储和检索数组?
- 8. 在SharedPreferences中存储ProtoBuf对象
- 9. 如何在SharedPreferences中存储ArrayList
- 10. 如何在SharedPreferences中存储一个int
- 11. 在sharedpreferences存储列表中应用notifyDataSetChanged
- 12. 使用parcelable将项目存储为sharedpreferences?
- 13. 将对象存储在数组中
- 14. Cython:将Unicode存储在numpy数组中
- 15. 将值存储在数组中的php
- 16. 将嵌套数组存储在cookie中
- 17. 将数组存储在会话中
- 18. 将索引存储在数组中
- 19. 将通用数组存储在NSUserDefaults中
- 20. 将对象存储在数组中
- 21. 将位图存储在数组中?
- 22. 将列值存储在数组中
- 23. 将数组存储在TQueue中?
- 24. 如何将值存储在数组中?
- 25. 将参考值存储在数组中
- 26. 将数组存储在MySQL表中
- 27. 在Swift中将数组存储在数组中
- 28. 离子数据存储像sharedpreferences?
- 29. 将公共密钥存储在sharedPreferences中,并检索它
- 30. 是否有可能将值作为ArrayList存储在SharedPreferences中?
您也可以参考此答案(http://stackoverflow.com/questions/7175880/how-can-i-store-an-integer-array-in-sharedpreferences) – 2014-02-19 06:19:02