【问题标题】:Android Sharedpreferences and arrayAndroid Sharedpreferences 和数组
【发布时间】:2011-04-21 08:33:42
【问题描述】:

我创建了一个天气小部件。我将其配置存储在SharedPreferences 中。小部件由服务更新。我将天气信息与预测一起保存在一个数组中。晚上手机关机后,我发现数组值消失了,可能是系统暂停了?服务。有没有办法将数组存储在SharePreferences 中,这样更粘。

【问题讨论】:

标签: android arrays sharedpreferences


【解决方案1】:

当然 - 要么想出一种方法来从可以存储在 SharedPreference 中的字符串中序列化/反序列化对象(例如,如果它是一个简单的数字数组,只需在逗号上进行快速拆分/连接就可以了它;基本的JSON serialization/deserialization 可能适用于稍微复杂的数据),或者使用标准的Java serialization 将您的对象转换为字节流和save the data to a File,您可以在需要时读取。但是,如果您真的在处理大量结构化数据,请认真考虑使用 Android 对 SQLite 的出色内置支持,尽管这需要更多工作。

【讨论】:

  • 感谢您的快速回复。我不知道序列化,但想知道,因为是一个字符串数组,遍历数组并将每个元素作为一对放在 SharedPreferences 中。所以我可以使用 for(i=0;i
  • 当然,虽然可能比仅仅拆分一个字符串需要更多的工作,因为您还必须遍历所有 sharedPreferences 以进行反序列化。
  • 是的,这会更有效,网络上有任何示例可以序列化字符串数组然后再返回吗?感谢您提供所有信息。
  • 为什么你认为“结构化数据”应该在 sqlite 中进行搜索? Sqlite(和一般的关系数据库)旨在保留关系数据 - 而不是结构化数据。我想说结构化数据与关系数据完全相反。
猜你喜欢
  • 2021-05-30
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多