我正在尝试创建一个简单的Android应用程序,它有一个ActivityList信息,当应用程序启动时,我计划启动一个服务,它将不断计算数据(它会改变),并且我希望ActivityList与服务在应用程序生命周期内计算的数据。
如何将我的活动设置为监听服务?这是解决这个问题的最佳方法吗?
例如,如果您想象一个股票价格列表 - 数据将定期更改,并且需要与不断计算/获取数据的(在我的例子中)服务同步。
提前致谢
我怎样才能将我的活动设置为
听服务?这是吗
解决这个问题的最佳方法是什么?
在我看来,你有三个主要选择:
轮询。这Activity
定期询问Service
获取最新数据。恕我直言,这个选项很糟糕,但它肯定是可能的。
回调。根据贾克斯的回答,Activity
注册一个回调对象(“观察者”)Service
. The Service
当数据更改时调用回调上的方法,从而更新 UI。您可以看到一个使用它的示例Service
here http://github.com/commonsguy/cw-andtutorials/tree/master/18-LocalService/.
播送Intents
. The Service
广播一个Intent
via sendBroadcast()
关于数据更改。这Activity
注册一个BroadcastReceiver
using registerReceiver()
, 然后BroadcastReceiver
收到传入广播的通知。这会触发Activity
从加载最新数据Service
,或者可能只是为了从广播中的额外内容中获取最新数据Intent
。您可以看到使用该技术的示例Service
here https://github.com/commonsguy/cw-omnibus/tree/master/Internet/Download.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)