android开发:JetPack之LiveDateBus(一)

上一篇文章讲到LiveDate和ViewModel的使用,今天讲LiveDateBus如何使用
android开发:JetPack之ViewModel(一)
android开发:JetPack之LiveDate(一)

简介:

LiveDateBus是一款事件总线框架,它对LiveDate进行了封装。LiveDateBus能感应activity、fragment的生命周期。当activity、fragment的生命周期结束时,LiveDateBus会自动清除数据和activity、fragment进行解绑。而我们使用EventBus的时候是必须在
onDestroy()中进行反注册,不然会发生内存泄漏。而且EventBus不具备生命周期的感应能力,例如activity发生异常结束onDestroy()是不会被执行,因此当前activity还是被注册在EventBus中,EventBus还是会不断的给activity发送数据。

使用:
1.添加依赖

    implementation 'com.jeremyliao:live-event-bus:1.4.2'

2.在application中调用

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        LiveEventBus.get()
                .config()
                .supportBroadcast(this)
                .lifecycleObserverAlwaysActive(true);
    }
}

3.事件订阅

observe 方式,不需要手动取消订阅,LiveEventBus自动感应生命周期:

   LiveEventBus.get().with("event1",String.class).observe(this, new Observer<String>() {
            @Override
            public void onChanged(String s) {
                textView.setText(s);
            }
        });

observeForever方式, 需要手动取消订阅

LiveDataBus.get()
    .with("key_name", String.class)
    .observeForever(observer);

LiveDataBus.get()
    .with("key_name", String.class)
    .removeObserver(observer);

4.发送事件

LiveEventBus.get().with("event1").post("name");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值