以下是协议:我有一个Android应用程序需要每X秒(当前为60秒)调用Web服务。此应用程序有多个选项卡,这些选项卡都需要与数据本身进行交互。一个是MapView,一个是ListView,然后第三个不相关,但最终还需要获取一些全局数据。问题是我希望我的主要活动有一个在后台运行的线程,获取结果,然后指示TabHost中的两个子活动使用最新数据更新自己。另外,当用户点击选项卡并且onCreate/onResume活动触发时,我还想通过从主活动获取最新数据来强制重绘。我真的很茫然。我已经尝试过使用服务和一些贫民窟静态方法来将活动的实例传递给服务,以便每当定时器启动时调用特定的函数来更新其视图,但减速非常糟糕,代码只是丑陋丑陋难看。有什么建议么?在Android TabHost应用程序中完成活动间通信的最佳方式
编辑:所以我在tabhost活动中将它实现为一个定时器驱动的线程,然后在每个子活动中都有计时器驱动的线程,然后获取数据(以同步的方式)并更新它们的映射/列表。它的速度更快,但还是感觉稍微砍十岁上下,特别是部分在那里我打电话,像这样在父活动的自定义函数:
((MainActivity)getParent()).getNearbyMatches();
这增加了我不是完全激动强耦合的元素但是从性能的角度来看,它要好得多。我很欣赏已经给出的答案,并会对内容提供商方面进行一些研究,但我不确定我是否想回到服务模型。
我希望我也知道如何做到这一点!+1 – cakeforcerberus 2009-07-22 15:05:54