此問題與existing question問題有關。我雖然會問一個新問題,而不是回答其他問題。Android多處理程序設計
「我在活動中有多個處理程序。」爲什麼?如果您不想使用複雜的
handleMessage()
方法,則可以使用post()
(在Handler
或View
上)將邏輯分成單獨的Runnables
。多個Handlers
讓我感到緊張。 - CommonsWare
我是Android新手。我的問題是 - 在單個活動中有多個處理程序是不好的設計?
這是我目前實施的草圖。
我有一個mapActivity
,它創建一個數據線程(一個偵聽數據的UDP套接字)。我的第一個處理程序負責將數據從數據線程發送到活動。
在地圖上,我有一堆經常使用refreshed
的「動態」標記。這些標記中的一些是視頻標記,即如果用戶點擊視頻標記,我添加將android.opengl.GLSurfaceView
擴展到我的地圖活動並在這個新視頻上顯示視頻的ViewView
。我使用我的第二個處理程序來發送關於用戶在ItemizedOverlay
onTap(int index)
方法上點擊的標記的信息。
用戶可以通過點擊視頻視圖來關閉視頻視圖。我爲此使用了我的第三個處理程序。
如果人們可以告訴我這種方法有什麼問題並提出更好的實現方法,我將不勝感激。
謝謝。
但是......除了這是一個糟糕的設計,如果你有多個處理程序會發生什麼?他們都收到所有的消息,只有第一次宣佈,只有第二次?我猜都可以,但如果你能給我一個答案而不需要我編碼,我會很高興! – 2013-07-21 13:35:34
@ type-a1pha:以上都不是。部分用於發送「消息」的協議指示哪個「處理程序」將成爲消息的接收者。因此,不管Handler的哪個對象可能未完成,哪個Handler都能得到這個消息。 – CommonsWare 2013-07-21 14:11:46
是的,對我來說是恥辱! – 2013-07-21 14:32:09