0

我遇到了問題http://developer.android.com/resources/articles/painless-threading.html它被稱爲無痛穿線信息的重要來源,但即使在閱讀有關活動的基本文檔後,我仍然遇到麻煩。Android後臺線程如何向新活動提供數據?

這是我的問題:我正在使用Eclipse修改一些Android源代碼,該代碼已經創建了一個線程和處理程序,即使在切換到新活動時也會在後臺運行。我想要的是爲後臺線程實現一種爲新活動提供數據的方式。我已經看過.aidl和AsyncTask解決方案沒有成功。

任何想法的人?

謝謝!

回答

2

如果您的活動位於同一個軟件包/應用程序中,則可以將該線程的引用放入Application對象中,以便可以從您的所有活動中訪問它。您需要創建一個自定義應用程序子類並在清單中引用它。

如果您正在查看來自不同包的活動,我可以使用廣播接收器模型或綁定服務。

+0

Thanks @ fleetway76我可能會在下次嘗試。我這次做的是簡單地創建一個靜態變量,將數據存儲在其中,並從其他活動中讀取。 – Vince 2011-05-28 16:12:01

+0

謝謝@ fleetway76。我希望我能更好地理解你的答案,因爲我認爲也許我現在應該這樣做,而不是稍後。 – Vince 2011-05-29 20:53:12

+0

所以,你有能力提供一個自定義的類,它將被實例化爲程序的Application對象。這將是每個進程關係的一個對象,它將有效地充當對象樹的容器或根。你可以通過調用getApplication()來引用它。你可以在你的Application子類中放入任何你喜歡的東西,並從你的活動中訪問它。您指定應該使用您的子類而不是您的清單文件中的默認子類。 – fleetway76 2011-05-30 08:19:34