EventBusの簡単な使い方
6260 ワード
EventBusの簡単な使い方
文書ディレクトリ EventBusの簡単な使い方 1.概要 .依存 を追加 3.使用概要 3.1イベントクラス(Bean) を定義93.2イベントを購読する必要がある場所にイベント を登録する 3.3購読イベント 3.4登録イベント購読を即時にキャンセル 3.5リリースイベント 3.6 ProGuard混同 3.7 Sticky粘性事象 4.その他の 1.概要 EventBusは、AndroidとJavaの配信/購読のためのイベントバスです. は、コンポーネント間の通信を簡略化する. は、コードをより簡単にします. 快速で小さい(~50 k jar). の高度なプロパティ:スレッドの配布、サブスクリプションの優先度など.
2.依存関係の追加公式サイト:https://github.com/greenrobot/EventBus
3.使用概要
3.1イベントクラスを定義する(Bean)
3.2イベントの購読が必要な場所にイベントを登録する
3.3イベントの購読スレッドモデル: POSTING:イベントの処理は、イベントを発行するスレッドで実行される. MAIN:イベントの処理はUIスレッドで実行される. BACKGROUND:イベントをパブリッシュするスレッドがUIスレッドである場合、イベントの処理は新規に開始されたサブスレッドで実行される.パブリッシュイベントのスレッドがサブスレッドである場合、イベントの処理はそのサブスレッドで実行されます. ASYNC:イベントの処理は、新しく開始されたサブスレッドで実行されます.
3.4登録イベントの購読を即時に取り消す
3.5イベントの発行
3.6 ProGuard混同
3.7 Sticky粘性イベントスティッキーイベントは、イベントのリリース後に登録され、イベントに購読できます.
4.その他 RxBus:RxJavaベースのイベントバス.
文書ディレクトリ
2.依存関係の追加
implementation 'org.greenrobot:eventbus:3.1.1'
3.使用概要
3.1イベントクラスを定義する(Bean)
public static class MessageEvent {
...
}
3.2イベントの購読が必要な場所にイベントを登録する
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
3.3イベントの購読
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {
...
};
3.4登録イベントの購読を即時に取り消す
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
3.5イベントの発行
EventBus.getDefault().post(new MessageEvent());
3.6 ProGuard混同
-keepattributes *Annotation*
-keepclassmembers class * {
@org.greenrobot.eventbus.Subscribe ;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
(java.lang.Throwable);
}
3.7 Sticky粘性イベント
@Subscribe(threadMode = ThreadMode.MAIN,sticky = true)
public void onMessageEvent(MessageEvent event) {
...
};
4.その他