美文网首页
EventBus3.0的使用

EventBus3.0的使用

作者: 0青衣小褂0 | 来源:发表于2017-03-07 02:20 被阅读28次

使用:

网址:https://github.com/greenrobot/EventBus

依赖:compile'org.greenrobot:eventbus:3.0.0'

1.普通使用

订阅:

①创建消息类

public class MessageEvent {

private String message;

public MessageEvent(String message) {

this.message = message;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

}

②注册

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

EventBus.getDefault().register(this);//注册

}

③注销

@Override

protected void onDestroy() {

super.onDestroy();

EventBus.getDefault().unregister(this); //注销

}

④获取事件

@Subscribe(threadMode = ThreadMode.MAIN)

public voidonShowMessage(MessageEvent messageEvent){//自己写方法名//开始定义的类

mTextView.setText(messageEvent.getMessage());

}

发布:

EventBus.getDefault().post(new MessageEvent("发送过来了"));//发布类中发布

2.粘性事件

获得已经发布过得粘性消息,但是只能获得最近的一次

订阅;

①注册粘性事件

mButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

EventBus.getDefault().register(this);

}

});

②注销粘性事件

③设置获取粘性事件方法

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)//设置粘性事件为true

public void StickEvent(MessageEvent messageEvent){

mTextView.setText(messageEvent.getMessage());

}

发布:

EventBus.getDefault().postSticky(new MessageEvent("发送粘性事件"));//发送粘性事件

3.四种线程

@Subscribe(threadMode = ThreadMode.POSTING)     //哪个线程发,哪个线程接

@Subscribe(threadMode = ThreadMode.MAIN)       //主线程接

@Subscribe(threadMode = ThreadMode.BACKGROUND)         //子线程接

@Subscribe(threadMode = ThreadMode.ASYNC)//重新开线程接

相关文章

  • EventBus3.0 一

    EventBus3.0 使用 EventBus基本使用发送事件注册接收(main posting backgrou...

  • EventBus3.0使用(一)

    3Steps简单使用EventBus3.0 在使用EventBus 先在Gradle 添加依赖 定义Event事件...

  • EventBus3.0的使用

    相信Android的同志们都知道这个玩意,github16k的存在神器,但是这几天遇到一个问题,在一个activi...

  • EventBus3.0的使用

    使用: 网址:https://github.com/greenrobot/EventBus 依赖:compile'...

  • EventBus3.0的使用

    EventBus最新版,用法有变,网上很多都过时了,现在自己来总结。 首先订阅者必须注册和反注册,发布者不需要注册...

  • EventBus3.0使用(二)

    上一篇EventBus3.0使用(一) Sticky Events 粘性事件 Sticky Events可以允许事...

  • EventBus3.0使用

    EventBus是使用十分广泛的事件总线框架, 2.0到3.0的变化还是挺大的 今天准备重构代码,关于解耦想到了用...

  • EventBus3.0使用

    由于最近更新了EventBus3.0,里面的onEvent方法改变了,在此坐下记录,方便自己以后查阅及使用。Eve...

  • 自己实现简单的EventBus功能

    1、下面是EventBus3.0的一些用法和源码分析 EventBus使用详解 EventBus源码解析 2、接...

  • EventBus源码详解,看这一篇就够了

    之前写过一篇关于EventBus的文章,大家的反馈还不错(EventBus3.0使用详解),如果你还没有使用过Ev...

网友评论

      本文标题:EventBus3.0的使用

      本文链接:https://www.haomeiwen.com/subject/lvypgttx.html