2017-03-09 89 views
0

我必須每隔N秒從服務器下載「原始」數據,然後將其傳送到碎片(位於ViewPager內)。每個片段都必須對數據執行自己的計算,然後填充自己的RecyclerView。 我有一個想法如何做到這一點:活動(裝載機 - 下載)+ 3片段(裝載機 - 計算)

  1. Activity's AsyncTaskLoader下載數據,存儲,然後 廣播一個Intent新數據已經到來。
  2. 每個fragment有它自己的AsyncTaskLoader和連接broadcast receiver
  3. fragment's Loader收到有關新的數據信息,把它形成activity,計算並提供給RecyclerView

是不是正確的解決方案?我的問題有更簡單的方法嗎?

回答

0

您可以使用包含可運行代碼的服務每隔N秒從服務器下載「原始」數據。 將接收的數據保存爲單例,並且您可以直接計算並傳遞到您的RecyclerView的適配器

0

活動中的AsyncTaskLoader是一個好主意,但我會通過使用消息總線而不是廣播意圖來簡化與片段的通信。