2015-03-25 53 views
-1

在活動A我想開始一個網絡請求,將從互聯網上獲取一些數據。我想在活動B中顯示數據。由於網絡上的請求需要一段時間,並且打開一個新的活動也非常耗時,所以我想優化這兩件事並同時運行它們。所以,我的計劃是:如何將網絡請求傳遞給被調用的活動?

活動A

    1. 開始網絡請求。
  • 開始活動B和以某種方式通過網絡請求

活動B

  • 接收網絡請求回調
  • 顯示進度條
  • 在rec上顯示結果eiving它

這個問題當然是我不能通過意圖將可待處理的對象作爲待處理請求。我知道這是一個棘手的問題,但好處是減少了雙重滯後。目前,我正在使用Aquery庫進行網絡請求,但我將離開它,因爲無法取消長時間運行的網絡請求。 我想這個問題可以歸結爲:如何將網絡請求傳遞給被調用的活動?

這可能嗎?我如何處理它?

+0

我建議不要取數據並把值傳給下一個Activity。您只需將網絡請求移至下一個活動並更新您的用戶界面。 – Amsheer 2015-03-25 10:19:40

+1

有趣的問題。如果能夠以一種很酷的方式實現這一點,肯定會有一些收益。不知道你的問題爲什麼被拒絕投票。 – 2015-03-25 10:22:52

+1

大部分預測來源於人們不瞭解他們正在投票的主題。 – f470071 2015-03-25 10:27:56

回答

0

我覺得你要找的是IntentService。看看這個文檔,你可以啓動服務然後用廣播發送數據到Activity-B