gpt4 book ai didi

java - 如何从后台服务更新 Android Activity 中的信息

转载 作者:IT老高 更新时间:2023-10-28 20:46:07 27 4
gpt4 key购买 nike

我正在尝试创建一个具有 ActivityList 信息的简单 Android 应用程序,当应用程序启动时,我计划启动一个服务,该服务将不断计算数据(它会不断变化)并且我希望 ActivityList 是与服务在应用生命周期内计算的数据同步。

如何设置我的 Activity 以收听服务?这是解决此问题的最佳方法吗?

例如,如果您想象一个股票价格列表 - 数据会定期更改,并且需要与(在我的情况下)不断计算/获取数据的服务同步。

提前致谢

最佳答案

How can I set up my Activity to be listening to the Service? Is this the best way to approach this problem?

在我看来,您有三个主要选择:

  1. 轮询。 Activity 定期向 Service 询问最新数据。恕我直言,这个选项很糟糕,但它肯定是可能的。

  2. 回调。根据 jax 的回答,ActivityService 注册了一个回调对象(“观察者”)。 Service 在数据更改时调用回调上的方法,从而更新 UI。您可以看到将其与 Service here 一起使用的示例.

  3. 广播 Intent Service 在数据更改时通过 sendBroadcast() 广播 IntentActivity 使用 registerReceiver() 注册一个 BroadcastReceiver,并通知 BroadcastReceiver 传入广播。这会触发 ActivityService 加载最新数据,或者可能只是从广播 Intent 中的 extras 中获取最新数据。您可以看到将这种技术与 Service here 一起使用的示例.

关于java - 如何从后台服务更新 Android Activity 中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2468874/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com