EventBus在各模块中基本使用-创新互联

EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。

创新互联公司技术团队10年来致力于为客户提供成都网站建设、网站建设、高端网站设计成都营销网站建设、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了1000+网站,包括各类中小企业、企事单位、高校等机构单位。

    这部分使用起来相对简单

1、eventbus.jar第三方架包

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

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

2、注册(接收)

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

    即谁接收谁注册原则

EventBus.getDefault().register(this);

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

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

   public void onEventMainThread(Object obj) {
        Log.v("result", "ThirdActivity: " + obj.toString());
   }

3、发送

    EventBus.getDefault().post(object)

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

4、注销

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

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

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

    函数名             含义

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

PostThread onEventMainThread               事件在主线程-UI线程执行

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:EventBus在各模块中基本使用-创新互联
文章路径:http://hbruida.cn/article/dpdcoc.html