Android 在本地保存来自 Amazon API 的数据以减少加载时间?
Posted
技术标签:
【中文标题】Android 在本地保存来自 Amazon API 的数据以减少加载时间?【英文标题】:Android save data from Amazon API locally to reduce load times? 【发布时间】:2017-06-27 20:23:39 【问题描述】:我是一名新的 android 开发人员,可以就我遇到的问题提出一些建议。
我有一个应用程序从亚马逊产品 API 查询您打开的几乎每个活动的数据。我能够获取数据,但活动需要永远加载,因为我一直在运行 API 查询。
该应用程序基本上是一个视频游戏评论应用程序。用户多次为游戏加载相同数据的情况并不少见。我认为一遍又一遍地对相同的数据进行 api 调用是非常低效的。
我的问题是在这种情况下,每次从 Amazon API 检索数据时,我是否应该将游戏数据保存到本地甚至远程 (Firebase) 数据库?然后每当需要检索数据时,我首先检查它是否存在于数据库中,然后再进行 API 调用?
如果这是正确的,我应该将数据保存在哪里(共享首选项、SQLlite、内部存储等)?如果没有,我该怎么做才能让应用更快地拉取和显示数据?
【问题讨论】:
【参考方案1】:当您说活动需要永远加载时,我假设您不是在活动中进行这些调用。让我们一一回答您的问题。
1) 共享首选项不是一个好的选择。 (仅当您有很多事情要坚持时才尝试使用共享首选项)。在这种情况下,如果您想节省为数据库编写帮助类的工作,您可以序列化数据(内部存储)。在我看来,最好将数据存储在本地。
2) 不要总是请求数据。仅在用户希望刷新数据时才更新它(无忧无虑,用户按下刷新按钮)。或者您可以在固定时间间隔后更新数据。这可能涉及在后台升级评论,即使应用程序未通过使用 Alarm Manager 启动 Service 运行。不过,您将不得不阅读它。
【讨论】:
以上是关于Android 在本地保存来自 Amazon API 的数据以减少加载时间?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 SQL Workbench 将 Amazon Redshift 输出保存到本地 CSV?
解压缩来自服务器的 zip 文件,而不在 ios swift 中本地保存,类似于 android 的操作?