【发布时间】:2015-04-02 06:36:26
【问题描述】:
我的 Activity 中有ViewPager,其中每个页面都包含很少的片段。现在,一旦加载片段,我就会调用一个服务,该服务的工作是从 web 服务中获取数据并使用ResultReceiver 将结果传递给特定片段班级。为了更清楚:
FragmentA----->calls FetchDataService()
FragmentB----->calls FetchDataService()
现在FetchDataService 没有将结果传递到正确的片段,而是我在FragmentB 接收结果,因为它最后调用了FetchDataService。在每个片段中获得正确结果的最佳方法是什么。
【问题讨论】:
-
在片段中使用本地广播接收器,也许它可以工作..
-
FetchDataService 需要多长时间获取一次数据——换句话说,Web 服务端的数据是否定期变化? FragmentA、FragmentB 等也要求 FetchDataService 获取相同的数据还是每个 Fragment 需要不同的数据?
-
每个片段需要不同的数据,数据被提取一次并存储在 SQLite 数据库中。如果网络服务端的数据发生变化,它会再次获取新内容@Squonk
-
Activity获取所有需要的数据并将其存储在 SQLite 数据库中是否更有意义,然后每个Fragment可以简单地执行自己的本地数据库查询来获取数据他们需要吗? -
是的,但我有多个请求从 Web 服务获取数据。如何一次获取所有数据?你知道怎么做吗? @Squonk
标签: android android-fragments broadcastreceiver android-broadcast intentservice