2013-01-25 16 views
0

我正在爲Android應用程序創建一個UDP消息傳遞系統。 爲此,我創建了一個具有發送,接收,解析線程的獨立類。 該類必須立即只有一個 - 即。只有一個UDP服務器!在Java中的類之間通話?

現在,在Android中,您在設計中有多個活動,它們基本上是不同的類。 我想使用我的UDP通信iterface從這些不同的類。 但是,當前的UDP CI在主類中被立即執行一次。因此我無法從不同的類訪問對象。 此外,CI解析模塊將不得不根據消息更改整個應用程序的設置/ UI/...。

因此:

  1. 我需要有實例在所有如果我不需要超過1名對象嗎?
  2. 將類中的所有內容都設爲靜態是一個不錯的選擇嗎?
  3. 在某些時候,我需要反過來討論(obj-> main)。我應該使用回調還是僅將必要的資源從主要傳遞給CI並在CI中與他們一起處理?

我希望我能夠清楚地描述問題。請問我是否有任何問題。

回答

2

將它存儲在應用程序上下文中(這是一個單例)。 或者在Service中進行連接,並讓每個活動檢索數據(如果他們想要的話)。

0

看起來你的不同類需要一個實例或者正式說來對UDP Cl有依賴關係。爲了解決這個問題,我們有兩個選擇 -

  • 使用依賴注入框架,例如, guice在不同類別自動注入這種依賴
  • 老學校的方式 - 創建UDP Cl一個singleton和所有需要UDP氯可以做這樣的事情UDBCl.getInstance()類獲得的UDP Cl

比如我個人比較喜歡的方法1因爲這是單元測試友好的。方法2將更快地解決您的問題

+0

請問什麼是依賴關係的一個內射框架,它是如何工作的?任何簡短的例子? – SharkyLV

+0

請查看http://code.google.com/p/google-guice/wiki/Motivation(它提供了依賴注入如何幫助以及如何使用它的很好的背景) – ManojGumber

0

在第二個類中創建第一個類的實例.. 此外,您可以使用包在類之間傳輸數據。

+0

數據必須是可串行化的捆綁包。我需要最小化對象實例化以最大限度地減少內存使用量。 – SharkyLV