【发布时间】:2018-11-18 07:55:14
【问题描述】:
我有一个名为 LocationService 的已启动服务,它每 3 秒检索一次设备的位置。我希望这些值显示在应用程序的 UI 上。为此,我需要将值传递回主活动。
与 Activity 的通信需要持续并能够长期运行。
这样做的最佳方法是什么?我研究了绑定服务和本地广播,但不确定哪个最适用于与 UI 的持续通信。
【问题讨论】:
-
可以在activity中使用Handler来传递数据。
-
这个问题太宽泛了,有很多方法可以做到这一点,没有一种方法最适合每个人。 LiveData、Broadcasts 和 RxJava 总的来说都是很好的解决方案。
-
@Sander 有很多方法可以做到这一点,这就是我问这个问题的原因,因为我对什么是最好的解决方案感到困惑。我很高兴让我的问题更具体
-
没有单一的最佳方法,这实际上取决于您的需求和应用程序的结构。例如。我在存储库中获取位置更新,该存储库通过 LiveData 将位置更新发送到 ViewModel,ViewModel 将这个 LiveData 暴露给 Fragment,但如果您没有在应用程序中使用 MVVM 架构,那将没有意义。
标签: android android-intent android-service android-location