android EventBus使用详解.docxVIP

  • 1
  • 0
  • 约7.87千字
  • 约 10页
  • 2017-07-09 发布于河南
  • 举报
android EventBus使用详解

一、概述EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。1、下载EventBus的类库源码:/greenrobot/EventBus2、基本使用(1)自定义一个类,可以是空类,比如:[java]?view plaincopypublic?class?AnyEventType?{???????public?AnyEventType(){}???}??(2)在要接收消息的页面注册:[java]?view plaincopyeventBus.register(this);??(3)发送消息[java]?view plaincopyeventBus.post(new?AnyEventType?event);??(4)接受消息的页面实现(共有四个函数,各功能不同,这是其中之一,可以选择性的实现,这里先实现一个):[java]?view plaincopypublic?void?onEvent(AnyEventType?event)?{}??(5)解除注册[java]?view plaincopyeventBus.unregister(this);??顺序就是这么个顺序,可真正让自己写,估计还是云里雾里的,下面举个例子来说明下。首先,在EventBus中,获取实例的方法一般是采用EventBus.getInstance()来获取默认的EventBus实例,当然你也可以new一个又一个,个人感觉还是用默认的比较好,以防出错。二、实战先给大家看个例子:当击btn_try按钮的时候,跳到第二个Activity,当点击第二个activity上面的First Event按钮的时候向第一个Activity发送消息,当第一个Activity收到消息后,一方面将消息Toast显示,一方面放入textView中显示。按照下面的步骤,下面来建这个工程:1、基本框架搭建想必大家从一个Activity跳转到第二个Activity的程序应该都会写,这里先稍稍把两个Activity跳转的代码建起来。后面再添加EventBus相关的玩意。MainActivity布局(activity_main.xml)[html]?view plaincopyLinearLayout?xmlns:android=/apk/res/android??????xmlns:tools=/tools??????android:layout_width=match_parent??????android:layout_height=match_parent??????android:orientation=vertical????????????Button???????????android:id=@+id/btn_try??????????android:layout_width=match_parent??????????android:layout_height=wrap_content??????????android:text=btn_bty/??????TextView???????????android:id=@+id/tv??????????android:layout_width=wrap_content??????????android:layout_height=match_parent/????/LinearLayout??新建一个Activity,SecondActivity布局(activity_second.xml)[html]?view plaincopyLinearLayout?xmlns:android=/apk/res/android??????xmlns:tools=/tools??????android:layout_width=match_parent??????android:layout_height=match_parent??????android:orientation=vertical??????tools:context=com.harvic.try_eventbus_1.SecondActivity?????????Button???????????android:id=@+id/btn_first_event??????????android:layout_width=match_parent??????????android:layout_height=wrap_content??????????android:text=Fir

文档评论(0)

1亿VIP精品文档

相关文档