Android Eventbus 3简单使用

本文旨在记录最热门框架的使用及简单实例,起到抛砖引用的目的,若有更复杂需求,还请参考其他资料.

EventBus 3:
概念:
应用程序内各组件间、组件与后台线程间的数据传递框架,post()和onEvent()的发送和接收

视图:
发射源(post)——>接收源(oneEvent()方法)

使用:
1:添加依赖

 compile 'org.greenrobot:eventbus:3.0.0'

2:定义一个事件类

public class MessageEvent {
    private String message;

    public MessageEvent(String message) {
        this.message = message;
    }

    public String getMessage() {
        return message;
    }
}

3:注册和注销

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EventBus.getDefault().register(this);
    }

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

4:发送事件

 EventBus.getDefault().post(new MessageEvent("Data is from secondactivity!"));

5:接收事件并处理

String msg;
@Subscribe(threadMode = ThreadMode.MAIN)
    public void onEvent(MessageEvent messageEvent) {
        msg = messageEvent.getMessage();
        tvMessage.setText(msg);
        showMsg1();
    }

    private void showMsg1() {
        if (msg != null) {
            Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
        }
    }

好了,这是简单介绍,具体复杂程度看业务

猜你喜欢

转载自blog.csdn.net/ware00/article/details/71530643