Android - 下载JSON数据并保存到共享首选项

时间:2012-11-05 10:53:03

标签: android json

我正在从PHP服务中读取JSON数据,每当JSON的版本发生变化时,我想将其存储在Android上(用新的数据替换旧数据),JSON仅用于填充Spinner。

我的问题是: - JSON有36KB,可以将它存储在共享首选项上有一个字符串还是应该使用SQLite来存储它?

每月会有一次更新

我的数据示例:http://zimp.hugo.webe.pt/api/occupations/list

5 个答案:

答案 0 :(得分:3)

如果它是一个json String,有很多记录,值,那么我建议将这个字符串解析成记录,然后将这些记录保存到sqlite,这样你就不需要再次解析这个字符串了,再次,un-一定。否则,将字符串保存到共享首选项中没有任何问题。

根据您的数据,您应该选择SQLite。

答案 1 :(得分:1)

将它存储在共享首选项中可以。

答案 2 :(得分:0)

这实际上取决于您要存储的数据。

SQLite的

大量相同的结构化数据应该存储在SQLite数据库中,因为数据库是为这种数据设计的。由于数据是由数据库构建和管理的,因此可以查询使用SQL等查询语言获取与某些条件匹配的数据子集。这使得可以搜索数据。当然,管理和搜索大量数据会影响性能,因此从数据库读取数据可能比从SharedPreferences读取数据要慢。

SharedPreferences

SharedPreferences是一个键/值存储,您可以在其中保存特定键下的数据。要从商店读取数据,您必须知道数据的密钥。这使得读取数据非常容易。但是,尽管存储和读取大量结构化数据很困难,因为您需要为每个数据定义关键字,但是除了您有一定的概念之外,您无法真正搜索数据。命名键。

答案 3 :(得分:0)

在共享首选项中保存不是问题。但请记住,SP主要在键值对中保存原始数据类型...而在您的情况下不是36kb的问题。:)

答案 4 :(得分:0)

这取决于您的数据。

  • 如果您的数据应该是动态的并经常更改,那么您必须使用JOSN。
  • 如果您的数据不是定期更新而不是大尺寸,则存储在共享优先权中。
  • 如果您的数据很大,则存储在数据库中。

现在您必须决定选择哪一个。