EventBus在各模块中基本使用

  

,,EventBus是一款针对安卓优化的发布/订阅事件总线。主要功能是替意图,处理程序,广播在片段、活动、服务、线程之间传递消息。优点是开销小,代码更优雅。以及将发送者和接收者解耦。

,,,,这部分使用起来相对简单

1, eventbus。jar第三方架包

,,,,这个包不大,23 k下面是连接地址

,,,, http://download.csdn.net/download/androidstarjack/8958389

2,注册(接收)

,,,,这里需要说明,需要接收数据的地方才注册,否则不需要

,,,,即谁接收谁注册原则

,,,,

EventBus.getDefault () .register(这);


,,,,//这个是接收发送的数据

,,,,//我们暂且使用onEventMainThread接口来接收

,

,,,public  void  onEventMainThread (Object  obj), {   ,,,,,,,Log.v(“结果”,,,“ThirdActivity: +, obj.toString ());   以前,,}


3,发送

,,,,

,,,,EventBus.getDefault () . post(对象)

,,,,帖子里面是一个对象的超类,可以是自己定义的一个对象


4,注销

,,,,不用的时候别忘了注销掉(否则仍会接收,这一点和广播类似)

,,,

,,,@Override   ,,,protected  void  onDestroy () {   ,,,,,,,super.onDestroy ();   ,,,,,,,EventBus.getDefault () .unregister(这个);   ,,,}


onEventXXXX, onEvent函数一共有四种,前面的例子只用到一个onEvent。,

,,,,函数名,,,,,,,,,,,,含义,

ThreadMode onEvent,,,,,,,,,,,,,,,,,,,,,,,,事件处理在事件发送的那个线程执行,

PostThread onEventMainThread,,,,,,,,,,,,,,事件在主线程ui线程执行,

MainThread onEventBackgroundThread,,,,,,,,事件在一个后台线程执行(就一个后台线程)BackgroundThread onEventAsync,,,,,,,,,,,,,事件会单独启动一个线程执行(每个事件都会启动一个线程)异步其中前三个事件处理方式,都应该尽快完成。


EventBus在各模块中基本使用