活动(装载机 - 下载)+ 3个碎片(带装载机 - 计算)

时间:2017-03-09 14:09:52

标签: android android-activity android-asynctask fragment loader

我必须每隔N秒从服务器下载“原始”数据,然后将其传递给片段(在ViewPager中)。每个片段都必须对数据进行自己的计算,然后填充自己的RecyclerView。 我有一个想法如何实现:

  1. Activity's AsyncTaskLoader下载数据,然后存储 广播新数据的Intent
  2. 每个fragment都有自己的AsyncTaskLoader并且已连接broadcast receiver
  3. fragment's Loader收到有关新数据的信息时,请从activity获取,计算并投放到RecyclerView
  4. 这是正确的解决方案吗?对我的问题有更简单的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用包含Runnable代码的服务来下载" raw"每N秒从服务器获取一次数据。 将收到的数据保存在Singleton中,您可以直接计算并交付给RecyclerView的适配器

答案 1 :(得分:0)

活动中的AsyncTaskLoader是一个好主意,但我会通过使用消息总线而不是广播意图来简化与片段的通信。