美文网首页
EventBus 3.0的简单使用

EventBus 3.0的简单使用

作者: 梦沉薇露 | 来源:发表于2017-10-13 13:53 被阅读22次

    0.在build.gradle中引入

    compile 'org.greenrobot:eventbus:3.0.0'
    

    1.定义事件

    public static class MessageEvent { /* Additional fields if needed */ }
    

    2.注册订阅

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            EventBus.getDefault().register(this);
        }
    

    3.取消注册

      @Override
        protected void onDestroy() {
            super.onDestroy();
            EventBus.getDefault().unregister(this);
        }
    

    4.声明订阅方法

    /***
    *ThreadMode总共四个:
    *NAIN UI主线程
    *BACKGROUND 后台线程
    *POSTING 和发布者处在同一个线程
    *ASYNC 异步线程
    *priority  优先级越高优先获得消息
    */
    @Subscribe(threadMode = ThreadMode.MAIN,priority = 100)  
    public void onMessageEvent(MessageEvent event) {/* Do something */};
    

    5.订阅事件

    EventBus.getDefault().post(new MessageEvent());
    

    6.添加混淆

    -keepattributes *Annotation*
    -keepclassmembers class ** {
        @org.greenrobot.eventbus.Subscribe <methods>;
    }
    -keep enum org.greenrobot.eventbus.ThreadMode { *; }
    
    # Only required if you use AsyncExecutor
    -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
        <init>(java.lang.Throwable);
    }
    

    相关文章

      网友评论

          本文标题:EventBus 3.0的简单使用

          本文链接:https://www.haomeiwen.com/subject/zqszyxtx.html