由于我是开发Android应用程序的新手,我想向更有经验的开发人员询问如何解决以下问题。
我正在尝试构建的应用程序应该执行以下操作:当应用程序运行时,它会不断通过upd
包接收各种双打。根据双值,它将在主要活动的文本和图像视图中显示某些消息。
到目前为止,我已经设置了一个接收双打的前台服务(在一个额外的线程上运行)。该服务绑定到主要活动。我决定使用绑定服务,因为将来我想将其他活动连接到该服务。
以下是我的问题:
非常感谢您在这件事上的时间和帮助。
我是否为我计划做的事情选择了正确的配置(绑定前台服务)?
没有人反对绑定的Service
。有一个感兴趣的Activity
绑定到Service
将确保它保持活着,只要Activity
被认为是在前景。
如何根据udp服务收到的双精度值更新图像和文本视图?我可以在服务中直接执行此操作,只在值更改时才推送更新吗?
你不应该尝试“从外面”更新View
。只有Activity
所属的组件(Fragment
或View
)才有权修改它。
相反,只需通知感兴趣的组件数据中的更改。
应用内部沟通的想法:
Service
更新数据存储库并使用LiveData
来保持UI最新,如Guide to app architecture 中所述。