我是一名新的Android开发人员,可以就我遇到的问题提供一些建议。
我有一个应用程序,它几乎在您打开的每个活动中查询来自Amazon Product API的数据。我能够获取数据,但这些活动需要永远加载,因为我不断运行API查询。
该应用程序基本上是一个视频游戏评论应用程序。用户多次加载游戏的相同数据并不常见。我认为让api一遍又一遍地调用相同的数据是非常低效的。
我的问题是在这种情况下,每次从Amazon API检索数据时,我是否应该将游戏数据保存到本地甚至远程(Firebase)数据库?然后,每当需要检索数据时,我首先检查它是否在进行API调用之前存在于数据库中?
如果这是正确的,我应该在哪里保存数据(共享首选项,SQLlite,内部存储等)?如果没有,我该怎么做才能使应用程序拉动&更快地显示数据?
答案 0 :(得分:0)
当你说活动需要永远加载时,我假设你没有在活动中进行这些调用。让我们逐一回答你的问题。
1)共享Prefs不是一个好选择。 (尝试使用共享首选项只有当你有一堆东西要坚持时)。在这种情况下,如果您希望节省为数据库编写帮助程序类的工作量,则可以序列化数据(内部存储)。在我看来,它更适合在本地存储数据。
2)不要总是请求数据。只有当用户想要刷新数据时才更新它(无需忙碌,用户按下刷新按钮)。或者您可以在固定的时间间隔后更新数据。这可能涉及即使在应用程序未运行时通过使用 Alarm Manager 启动 Service 来在后台升级评论。你必须阅读它。