【问题标题】:How to store and retrieve arrays from sharedpreferences in android?如何从android中的sharedpreferences存储和检索数组?
【发布时间】:2016-02-29 19:30:51
【问题描述】:

我有一个数组,想将它存储在SharedPreferences,但是当我尝试时,它没有被保存。代码如下:

editor.putInt("Symptoms Checklist Baseline Matrix", symptoms_checklist_arr_base);

我在哪里做的

int symptoms_checklist_arr_base[] = new int[20];

在后面的代码中,我尝试检索这个值。

int symptoms_checklist_arr_base[] = prefs.getInt("Symptoms Checklist Baseline Matrix", what do I add as a default?? );

我需要做什么才能让SharedPreferences 存储数组并返回它们?

【问题讨论】:

  • putInt 放一个整数,而不是一个数组...
  • 对不起,我会把那些括号删掉,它们是来自一些实验。我想知道应该用什么替换 putInt。
  • 阅读文档,您只能放置单个键值。这些值是原语,而不是对象。如果你想要复杂的数据,你需要将它序列化成 JSON 之类的字符串
  • 好的。现在,我只会将个人价值观放入共享偏好中,然后使用它,除非另一个答案有更好的解决方案。谢谢
  • 可以存储一个数组,你只需要将它保存为一个字符串,然后再解析出来。如果您愿意使用 Gson,我可以提供答案

标签: android


【解决方案1】:

您可以将Array 转换为List,然后使用ObjectSerializer 将其存储为String,或者将List 本身放入Parcelable 对象中。

参考这个问题,使用ObjectSerializer 实现: Save ArrayList to SharedPreferences

参考这个问题,使用Parcelable 实现: Pass ArrayList<? implements Parcelable> to Activity

【讨论】:

猜你喜欢
  • 2013-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-02
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 2018-06-03
相关资源
最近更新 更多