android EventBus学习记录

本来eventBus是guava工具框架中很重要的一部分,是一个发布与订阅的事件总线工具,整个还是比较比较轻量级,对于一些高并发高吞吐量的场景还是很使用的,android eventBus就是基于此做了针对android移动端的框架,整个过程是异步的,解耦的,其余的也不多讲,这里简要介绍基本用法,原理的东西大家去看下源代码,代码不多。

1,默认用法

在activity的生命周期事件中注册或者取消注册事件,常规用法是onStart事件中注册eventBus事件,onStop事件中取消注册事件,并按照规范增加onEvent(String event)方法,该方法中可以实现自己的业务逻辑,如何分发事件,比如onClick中EventBus.getDefault().post(event),这里是整个应用中如何共享一个EventBus,而每个Activity中并没有定义全局的EventBus哦,具体实现可以看下源代码。

2,自定义事件

自定义事件,其余部分基本一致,唯独不同的是onEvent(Stirng event)的接收参数可以自定义,比如

private Class customEvent{

    属性/方法

},按照约定实现的onEvent(CustomEvent event),其余并没有不同

3,不同线程模型执行回调事件

public void onEventBackgroundThread(String event) ;

public void onEventAsync(String event);

public void onEventMainThread(String event);

public void onEvent(String event);

4,延时执行模型

EventBus.getDefault().postSticky();

猜你喜欢

转载自xylong.iteye.com/blog/2204403