当电话状态改变时,我的服务总是通过广播接收器调用。然后在服务调用日志中与远程 API 同步。 我的服务调用同步用例,因此我的结构如下所示:
Screen -> ViewModel -> Service and Use Cases -> Repo -> Data.
我的经验不够,我没有找到一种方法可以在屏幕上显示通话记录并使其始终与通话记录更改保持同步。我想在屏幕上显示的调用来自远程API。
我知道我可以创建一组类来从 API 获取整个通话记录,但我不知道如何实现“事件”,它可以在手机状态发生变化时始终运行整个逻辑。这很容易做到直接,但在干净的代码中这对我来说是个问题。
如果我理解正确的话,您希望您的通话记录显示在您的应用程序中并实时更新。如果您想从 API 获取这些数据,那么您需要使用支持实时协议(WebSocket、HTTP 服务器发送事件等)的 API 或后端。如果不使用实时协议,您将必须定期查询 API 以检查更新。
有很多选择,但我认为与 Android 集成良好的简单选择是 Firebase。我相信他们使用 WebSockets。