码迷,mamicode.com
首页 > 其他好文 > 详细

EventBus在各模块中基本使用

时间:2016-06-28 18:52:50      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:eventbus

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

    这部分使用起来相对简单

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 其中前三个事件处理方式,都应该尽快完成。


本文出自 “爬过山见过海” 博客,请务必保留此出处http://670176656.blog.51cto.com/4500575/1793635

EventBus在各模块中基本使用

标签:eventbus

原文地址:http://670176656.blog.51cto.com/4500575/1793635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!