在我的應用程序中,我需要定期從互聯網獲取一些json數據,然後我想根據這些數據更新我的應用程序的用戶界面。我如何執行後臺任務,然後在完成時更新UI?這裏有一些問題,我跑進:在後臺運行代碼,然後更新UI完成
- 使用服務/鬧鐘,我不能把我的JSON回活動
- 使用的定時器/ TimerTask的,我不能更新UI,因爲只有線程創建的視圖可能會改變他們
- 使用的AsyncTask是工作的罰款,但我不能運行它定期
我一直在執行我的活動監聽器當JSON被取出時被觸發。這看起來像是一個直截了當的事情,我確信必須有一個解決方案!
爲什麼您的服務/警報不能將JSON發回活動?看一看[ResultReceivers]()。 – panini
幾乎所有的子彈都是錯的 - 你可以從服務/報警中返回數據。您可以隨時通過發佈到執行實際UI更改的處理程序來從其他線程更新UI。您可以定期運行AsyncTask。而且你總是可以製作一個線程。最好的辦法取決於更新的頻率,無論你想在應用程序不在前臺時執行此操作,等等。 –
我的錯誤是,我想更新得相當頻繁,但只在我的應用程序處於前臺;你知道哪種方法最適合這個嗎? – beenjaminnn