[英]Send data from service to activity without polling
我有一项维护与外部系统的连接(蓝牙串行端口或TCP连接)的服务。 当在连接上接收到数据时,应将其推送到活动中,然后可以对其进行解析和显示。 考虑一下带有一些仪表的仪表板,这些仪表可以实时响应新数据。
我不希望活动轮询服务以获取数据。 我希望服务在活动到达时将数据“推送”到活动中。 如何最好地实现?
我应该从该服务进行广播吗? 数据(CSV行流)将连续到达。 我不知道是否应该经常使用广播-就像每秒几十次更新。
进行此操作的标准方法是什么?
可以有两种方法:
1.使用LocalBroadcastReceiver
在您的Activity中注册一个Receiver,它将监听更改并相应地更新UI。
2.绑定服务并传递侦听器接口。
创建并实现侦听器接口,然后在绑定服务之后,将此接口的实现传递给服务。 每当数据更新时,调用实现方法。 您可以按照SO这样做。 这对于频繁更新将是理想的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.