我已经启动了一个连接到蓝牙设备并流式传输数据的线程。我实际上是从服务启动这个线程的(线程不是从活动开始的)。所以知道我需要与活动通信以显示输入流列表。我不确定事件总线是否可以提供如此频繁变化的数据。有人可以给我一个更好的现有示例来说明如何使用显示流。
请不要向我索要源代码。
我已经启动了一个连接到蓝牙设备并流式传输数据的线程。我实际上是从服务启动这个线程的(线程不是从活动开始的)。所以知道我需要与活动通信以显示输入流列表。我不确定事件总线是否可以提供如此频繁变化的数据。有人可以给我一个更好的现有示例来说明如何使用显示流。
请不要向我索要源代码。
我相信事件总线可以是一个很好的解决方案,还检查绑定服务: https ://developer.android.com/guide/components/bound-services.html
我建议您从 Android 架构组件中查看LiveData 。您可以观察活动的结果,它会在需要时为您“取消订阅”(onStop()
)。您可以阅读我提供的链接上的优势。
您可以扩展 aLiveData
并实现其内部的逻辑(如本示例),或者仅使用它来分派更新,然后在 Activity 上观察它。该postValue()
方法将确保它在 MainThread 上被调度。