非同期スレッドとUIスレッド間のメッセージ通信にEventBusを使用しましたが、何か注意が必要ですか?Androidアプリケーションを開発するとき、どのシナリオでEventBusを使用すべきですか?何か注意が必要ですか?
0
A
答えて
0
インターフェイスを使用して同じことを達成できます。
実際にはシナリオに依存しますが、多くのクラスが互いに依存するタイトカップリングの場合は、イベントバスを使用する必要があります。
1つのフラグメントAをホストしているアクティビティがあり、フラグメントAに別のフラグメントBが含まれていて、フラグメントBのボタンをクリックしたときにアクティビティと通信したいとします。インターフェイスを使用することによってクラスが高度に結合されているため、アクティビティからフラグメントAへの実装をフラグメントBに渡す必要があります。
このシナリオでは、イベントバスを使用する方がはるかに簡単です。
アクティビティでは、1つのフラグメントをホストしていて、その2つの間で通信したいという状況を考えてみましょう。この場合、インターフェースは良い選択です。 ここでイベントバスを使用すると、登録されたすべてのインデックスクラスをループしてサブスクライブされたメソッドにポストするので、適切な決定にはなりません。
0
EventBusはAndroidスタジオのライブラリです。あるクラスから別のクラスにメッセージを渡すのはあなたのためだと思います。あなたの質問に答えることを願っています。
関連する問題
- 1. Phonegap - Android - Iframeの使用には注意が必要ですか?
- 2. 商用アプリケーションでオープンソースプログラムを使用する場合はどのような注意が必要ですか?
- 3. SharePointアプリケーションの開発には何が必要ですか?
- 4. Androidでゲームを開発するときにレイアウトを使用する必要がありますか?
- 5. Android-アプリケーションを開発するには、購入するライセンスが必要ですか?
- 6. MVCでActionresultを使用できるシナリオは何ですか?
- 7. Java:このシナリオでマルチスレッドを使用すべきですか?
- 8. gwtを使ってAndroidアプリケーションを開発できますか?
- 9. FrameLayoutの目的は何ですか?また、どのシナリオで使用する必要がありますか?
- 10. 私はどのWeb開発ツールと言語を使用すべきですか?
- 11. このシナリオではどの統計テストを使用すべきですか?
- 12. シナリオでどのデザインパターンを使用する必要がありますか?
- 13. Android開発でjavax.scriptを使用することはできますか?
- 14. GLMラムダ検索でクロスバリデーションを使用する際に注意すべき点は何ですか?
- 15. webアプリケーションの開発にcouchdbを使用できますか?
- 16. Android App開発で使用するグラフィックエディタプログラムのアドバイスが必要
- 17. Android開発用にPythonを使用できますか?
- 18. Androidプラットフォーム用のアプリケーションを開発するにはAndroid Developer Phoneが必要ですか?
- 19. Androidアプリケーションの開発にIntellij J IDEAを使用できますか?
- 20. Xamarin.AndroidをAndroidゲームの開発に使用できますか?
- 21. AutoITフレームワークを使用できるシナリオはどこですか?
- 22. WebKitですべての要素を開発したAppを開発することはできますか?
- 23. Flaskアプリケーション開発でPostgreSQLでSQLAlchemyを使用する必要があるのはなぜですか?
- 24. 生産と開発にはどのノードモジュールが必要ですか?
- 25. アプリケーションの開発にAppcelerator Titaniumを使用する必要がありますか?
- 26. Parse LiveQueryはAndroid開発で使用できますか?
- 27. はこのシナリオで助けが必要ですが、何が標準ですか?
- 28. AOSP開発にAndroidスタジオを使用できますか?
- 29. C#のゲーム開発には何が必要ですか?
- 30. 私はAndroidでjavax.microedition.ioが必要ですが、何ができますか?
私たちは同じインターフェースを使って達成することができますが、2つの方法の間には何がありますか? – CallenChen