バックグラウンド タスクを発生させる多くのアクティビティがあります。バックグラウンド タスクがアクティビティでイベントを発生させることができるように、アクティビティはリスナー コールバックを実装したものとして自身を渡します。アクティビティは、UI に何かを表示して、バックグラウンド アクティビティが成功したか失敗したかを示すことができます。
別の方法として、EventBusを使用して Activity をリスナー/サブスクライバーとして登録することもできます。バックグラウンド タスクが EventBus でイベントを発生させ、それをリッスンしているアクティビティがそれを処理できます。
他のものよりも優れている点は何ですか? いつどちらを使用しますか?(コードのクリーン度? パフォーマンス? 警告?)
フォローアップ - EventBus を使用することになりました。コードは間違いなくずっときれいになり、コールバックがあちこちにぶら下がっていません。IDE (IntelliJ) はメソッドが使用されていないと考えているonEvent
ため、アノテーションを作成しました
@Target({ElementType.METHOD})
public @interface EventBusHook {}
onEvent
そしてそれを私の方法の上に置きました。次に、Alt+クリックして、IntelliJに未使用として扱わないように依頼しました。
@EventBusHook
public void onEvent(MyEventType myEventType){