0

我正在創建一個多人遊戲。現在我來到了需要獲取並跟蹤客戶端所有傳入服務器消息的點。我看到一個AsynTask類爲我做後臺工作。你認爲這是去追蹤所有信息並將它們傳遞給不同活動的方式嗎?還是有更好的方法來做到這一點?Android多線程連接遊戲

我怎麼看這個:

//或多或少僞代碼

public class .... extends AsyncTask { 

    Connection connection = new Connection(); 
    connection.setUpConnection(); 

    doInBackground() { 
      processIncomingMessages(); 
      processOutgoingMessages(); 
    } 
} 

另外,如果我創建這個AsynTask來跟蹤我的消息,我在哪裏需要創建這個?也許是在我的第一個活動的創造?

在此先感謝您的幫助!要在同一應用中從多個活動中使用

親切的問候, 布拉姆

+2

您可能會考慮查看[Google Play遊戲服務實時多人遊戲](https://developers.google.com/games/services/android/multiplayer),因爲它可以爲您做很多工作,包括將玩家連接在一起並處理消息發送/接收。 – ianhanniballake

回答

0

對於後臺操作,您可以使用本地服務。請參閱an example

+0

在我的理解中,服務類不是在單獨的線程中運行。儘管如此,謝謝你的迴應。 – Bram

+1

服務等級不運行。服務函數可以在UI線程上運行,在binder線程上運行,你可以啓動異步任務,用你自己的looper線程創建一個處理程序,有很多選項。儘管不要使用AsyncTask進行長時間處理 - 它們都共享一個小線程池(或者只有一個線程取決於版本) – msh