【问题标题】:Best way to detect changes in an API response检测 API 响应变化的最佳方法
【发布时间】:2021-03-04 07:10:53
【问题描述】:

嘿,所以基本上我有一个学校 API,它为我提供一些关于当前课程、家庭作业等的信息,因此它们会根据当前时间而有所不同。我想围绕该 API 构建一个 Android 应用程序,当有不同的课程发生时,或者当我有新的家庭作业或其他任何事情时,它会向我发送通知。

那么实现这一目标的最佳方法是什么?我坚持要创建一个循环,每隔 x 秒/分钟向 API 发送一个请求,如果它检索到的信息与我已经拥有的当前信息不同,它会发送一个通知或其他任何东西。但我不确定这是否是最好的方法。

我也听说过观察者模式,但我不确定它是否适用于那里,因为我无法控制 API 级别的状态变化。

感谢您的回答,我希望我清楚我想要实现的目标,如果您想了解更多信息,请随时询问。

【问题讨论】:

  • 您最好的选择是使用 Firebase 或套接字将更改从 DB 推送到您的应用程序。

标签: android api observer-pattern


【解决方案1】:

如果您想在应用程序中实现查询,您将很难做到这一点。我建议您构建一个服务器应用程序,不断查询 API 并向订阅您的服务器应用程序的所有用户发送推送通知(例如通过 Firebase 云消息传递)。

【讨论】:

  • 感谢您的回答。那么我如何在查询 API 响应后检测到任何状态变化呢?或者即使状态没有变化,我也应该发送推送通知?
  • 这取决于您从 API 收到的数据结构。您需要保持当前的 api 状态,例如每 5 分钟运行一次更新间隔,然后开发一种算法来比较来自 api 的最新数据集与您的数据库状态。如果 API 向您发送包含上次更新的时间戳,则可以使用更简单的方法。
  • 我想我可以将 API 响应转换为模型,然后比较这些模型。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-09
  • 2011-02-17
  • 1970-01-01
  • 2020-08-10
  • 2010-11-20
  • 1970-01-01
相关资源
最近更新 更多