2011-04-30 185 views
0

我正在開發一個利用TCP上的自定義網絡協議的應用程序。應用程序中的若干任務使用不同的活動,但每個活動都需要啓用聯網(因爲每個活動都必須通過網絡發送/接收一些定製數據包)。 所以我的想法是基本上Android - 活動之間的共享網絡

  1. 在應用程序啓動 - 創建一個服務來處理網絡(我讀的地方,我應該做的網絡在另一個線程在這個服務,以防止ANR)

  2. 當一個新的活動運行,它綁定到該服務。在此期間,它發送/接收來自服務的數據。活動結束後,它將從服務中解除綁定。

我想知道這是否合理。

另外,據我所知,我可以使用aidl接口將數據發送到服務(通過網絡發送),但是我將如何從服務接收數據?通過aidl輪詢似乎是我能想到的唯一方法 - 這意味着我需要在每項活動中使用另一個線程來防止ANR。當然有更好的方法。

我感謝您的幫助,並樂於接受建議。

回答

0

其實我一直在閱讀更多的內容,並且開始在提供的示例代碼here中查看回調方法。更詳細地閱讀後,我對服務和AIDL有了更好的瞭解。