2016-05-26 56 views
0

我正在開發一個應用程序,它將通過從Web服務獲取JSON來顯示RecyclerView中的一些項目。如果用戶在列表的末尾滾動,則應該提取更多數據。對於UI,我已經實現了EndlessScrollListener,但我不確定用正確的頁索引(例如http://some.service/data&page=1)獲取實際JSON的正確選項。要從HTTP資源中讀取數據,我決定使用Volley庫。如果我僅使用Volley本身,手動處理onConfigurationChanged事件將會是一個問題。按需提取JSON數據的最佳方法是什麼?

我知道AsyncTaskLoader可以幫助我解決我的問題,但它看起來像它被設計爲定期獲取數據。在我的情況下,我需要按需加載數據(當用戶向下滾動時)。

我也想過如何實現同步適配器來獲取數據,光標加載器和內容提供者以離線模式保存/讀取數據,但現在看起來很難,因爲我是Android新手。

你能提出什麼建議?

我最感興趣的是解決方案的建築部分。

+0

正確的方法是簡單地解釋但難以實現,我只是在此評論中解釋。 1)HTTP調用不會回覆活動,它們只是寫入本地存儲緩存區域。 2)activity.on從本地存儲緩存啓動加載並訂閱,並在數據發生更改時進行更新。 3)activity.on停止取消訂閱本地存儲。有十億種方法可以完成50萬個圖書館或框架。祝你好運。 – Budius

+0

@Budius謝謝。你還可以建議至少有一個例子與一些特定的圖書館,班級等? Therioticaly更清楚,但你能舉一些例子嗎? –

+0

這個人給出了一個很棒的話題,涵蓋了它的基礎:https://www.youtube.com/watch?v=xHXn3Kg2IQE – Budius

回答

0

json的反序列化有時也是困難的任務,所以你需要做的是使用齊射請求然後結果你有json字符串,然後在異步任務你使反序列化本地對象,你有需要的結構,然後設置查看並附上最終數據。如果您加載列表並想要使其加載滾動here is sample

相關問題