Skip to content

Latest commit

 

History

History
79 lines (69 loc) · 1.7 KB

DIRECTION_1_3.md

File metadata and controls

79 lines (69 loc) · 1.7 KB

使用方法

订阅消息

  • observe 生命周期感知,不需要手动取消订阅
LiveEventBus.get()
    .with("key_name", String.class)
    .observe(this, new Observer<String>() {
        @Override
        public void onChanged(@Nullable String s) {
        }
    });
  • observeForever 需要手动取消订阅
LiveEventBus.get()
    .with("key_name", String.class)
    .observeForever(observer);
LiveEventBus.get()
    .with("key_name", String.class)
    .removeObserver(observer);

发送消息

  • setValue 在主线程发送消息
LiveEventBus.get().with("key_name").setValue(value);
  • postValue 在后台线程发送消息,订阅者会在主线程收到消息
LiveEventBus.get().with("key_name").postValue(value);

跨进程、跨APP发送消息

  • broadcastValue
LiveEventBus.get()
        .with(KEY_TEST_BROADCAST)
        .broadcastValue("broadcast msg");

需要设置supportBroadcast

Sticky模式

支持在注册订阅者的时候设置Sticky模式,这样订阅者可以接收到订阅之前发送的消息

  • observeSticky 生命周期感知,不需要手动取消订阅,Sticky模式
LiveEventBus.get()
        .with("sticky_key", String.class)
        .observeSticky(this, new Observer<String>() {
            @Override
            public void onChanged(@Nullable String s){
            }
        });
  • observeStickyForever 需要手动取消订阅,Sticky模式
LiveEventBus.get()
        .with("sticky_key", String.class)
        .observeStickyForever(observer);
LiveEventBus.get()
        .with("sticky_key", String.class)
        .removeObserver(observer);