Android Eventbus 3简单使用

导言:
本文旨在记录最热门框架的使用及简单实例,起到抛砖引用的目的

天坑:
必须是已经存在的activity,fragment等没有销毁的控件中方可使用,要是跳转到新activity,那就算了,老实用intent.

概念:
应用程序内各组件间、组件与后台线程间的数据传递框架,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:发送事件

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

4:注册,注销,并在接收事件中处理

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);
    }

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();
        }
    }

好了,这是简单介绍,具体使用看业务

你可能感兴趣的:(android基础)