2013-02-08 66 views
2

我有一個我在libgdx中創建的遊戲。我希望能夠讓我的類相互通信,並且我認爲訂閱/發佈/事件調度模型將是最好的,但是我很難找到一個可以在桌面和桌面上使用libgdx的框架。在我的Android上。尋找一個POJO事件框架

我試過使用在桌面上工作正常的EventBus(http://eventbus.org/),但是當我運行在我的android上時,它會拋出錯誤,因爲它正在尋找javax.swing。*類,它們不在設備上,它看起來像下載只需要的jar是不是一個真正的選擇。

有沒有任何輕量級的POJO事件框架? (不依賴於像鞦韆這樣的東西)

回答

4

你可以試試Square的Otto。我可以從個人經驗中證實,它可以在桌面和Android上使用libgdx。另外,還有綠色機器人EventBus,它與Otto具有非常相似的API並聲稱擁有better performance

+1

當我導入Otto和EventBus時,它們都需要android.os.Looper。你是如何解決這個問題的? – 2013-02-11 23:08:52

+0

我認爲Otto對android.os.loopper的唯一依賴在ThreadEnforcer.java中。如果你可以不使用它(如果你需要libgdx的話,我會感到驚訝)並且不要導入它,那麼你會好起來的。 – 2013-02-12 07:58:59

+1

進一步看,Otto對android.os.loopper的唯一依賴是在ThreadEnforcer.java中,具體是MAIN。創建總線時,請使用NONE(或任何適用於舊版本的Otto)。我自己的代碼有「bus = new Bus(ThreadEnforcer.ANY)」,可以在桌面和Android上運行。 – 2013-02-12 08:07:24