共享首选项与SQLite用于缓存JSON

时间:2015-07-17 05:36:03

标签: javascript android json sqlite

在Android应用程序生命周期之间保留JSON的最佳方法是什么?现在我正在使用休息服务来返回JSON。我使用这个JSON作为javascript图表的数据提供者,我正在加载到大量的webview中。我不想连续命中服务器来请求JSON,而是我想要缓存它并在需要时检索它,允许用户手动更新/刷新数据。

我应该使用共享首选项执行此操作还是应该持久保存到SQLite表?我的主要担心是即使在应用程序被杀死/重新启动后仍能检索存储的数据。我也有大量的JSON,想知道哪个是最有效的。

2 个答案:

答案 0 :(得分:4)

这取决于你的数据有多大

<强> SharedPrefences

  

将私有原始数据存储在键值对中。

如果你只想存储2-3个变量和整数,boolean sharedPreferences就可以了。

<强> SQLite的

  

将结构化数据存储在私人数据库中。

如果您的数据包含大量项目,例如您正在填充ListView,那么实施SQLite会更好,因为数据以更多的整理顺序存储,您可以将ID设置为这些数据(例如,您可以将ID设置为今天&#39;日期和检查当前日期是否大于那么您可能需要刷新的ID)以及有一些强大的类可以帮助您喜欢CursorAdapter和Cursor

答案 1 :(得分:0)

如果您想简化,那么您应该将JSON Response字符串保存到 将Key与JSON关联的SharedPrefence。

很容易从SharedPrefence中检索。 您可以在ShredPrefence中检查特定KEY是否存在, 如果没有那么你可以点击服务器,否则从ShredPrefence获得JSON响应。

当用户手动更新时,然后更新SHaredPrefence中的JSON响应。