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 的操作?

PHP 将远程图像保存到 Amazon S3

如何在 asp.net mvc 中显示来自 Amazon S3 的图像文件?

googlehosts

如何将 pyspark 中的数据保存在 Amazon EMR 的 1 个文件中