2015-02-06 74 views
1

我很難找到一種方法來實現這一點:如何啓動並保持跨多個活動的套接字連接?

我有一個活動從哪裏我將啓動2個獨立的套接字連接。 然後,我將轉到活動B,從那裏我會回到第四和活動C和D.所有3個活動將通過套接字交換消息。

現在從我的理解,我需要爲每個套接字創建一個服務,但我怎樣才能維護兩個套接字打開,而不是每次創建一個新的連接,我切換到另一個活動?

另外我如何讓服務運行一個「接受循環」,提示用戶處於當前活動狀態的操作?

感謝

回答

0

你是正確的,你應該使用一個Service。一個好的經驗法則是,您應該使用服務進行任何後臺處理,這些處理在邏輯上不受單個活動生命週期的約束。 (並使用AsyncTask進行後臺處理,在邏輯上受單個活動生命週期的約束。)

但是您不需要爲每個套接字創建服務。你應該創建一個服務,無論你需要用套接字來做什麼都可以。您的活動可以通過多種方式與服務進行交互,並傳遞消息或獲取對其套接字的引用,您可以在documentation中閱讀這些信息。