在Android应用程序生命周期之间保留JSON的最佳方法是什么?现在我正在使用休息服务来返回JSON。我使用这个JSON作为javascript图表的数据提供者,我正在加载到大量的webview中。我不想连续命中服务器来请求JSON,而是我想要缓存它并在需要时检索它,允许用户手动更新/刷新数据。
我应该使用共享首选项执行此操作还是应该持久保存到SQLite表?我的主要担心是即使在应用程序被杀死/重新启动后仍能检索存储的数据。我也有大量的JSON,想知道哪个是最有效的。
答案 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响应。