Git位置​​https://github.com/greenrobot/EventBus​

使用起来很方便:

1. Implement any number of event handling methods in the      subscriber:

     public void      onEvent(AnyEventType event) {}

2. Register subscribers:

     eventBus.register(this);

3. Post events to the bus:

     eventBus.post(event);

4. Unregister subscriber:

     eventBus.unregister(this);

5. public void onEventMainThread(EventType event)方法

两个Activity直接的使用

在第一个Activity的Code如下:



protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
EventBus.getDefault().register(this);
textView = (TextView)findViewById(R.id.textView);
Button btn_try = (Button)findViewById(R.id.btn_try);
btn_try.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(),
SecondActivity.class);
startActivity(intent);
}
});
}

@Subscribe
public void onEventMainThread(EventType event){
textView.setText(event.getMessage());
Toast.makeText(this,event.getMessage(),Toast.LENGTH_LONG).show();
}


OnDestory方法



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


在第二个Activity中使用



Button btn_first_event = (Button)findViewById(R.id.btn_first_event);
btn_first_event.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().post(new EventType("FistEvent btn cliced"));
}
});


 

具体实现可参考。

1、​​《EventBus使用详解(一)——初步使用EventBus》​

2、​​《EventBus使用详解(二)——EventBus使用进阶》​

其它参考:​

原理很重要哦。​

《EventBusExplained  》:​​https://code.google.com/p/guava-libraries/wiki/EventBusExplained​

​《Google Guava EventBus实例与分析》​