来挖坟,学习一下还可以,毕竟使用了最新的技术。不过实际项目中可能不会使用,说一下我的看法,希望不会冒犯
1.发送事件和接收事件都需要相同的一个 Key,这样项目中会需要一个文件来维护这个 Key
2.接收事件的是这么用的。
LiveEventBus.get()
.with(KEY_TEST_CLOSE_ALL_PAGE, Boolean.class)
.observe(this, new Observer<Boolean>() {
@
Override public void onChanged(@Nullable Boolean b) {
if (b) {
finish();
}
}
});
我们项目中一个 event processor 可能会有 20 个 event,用你的这个写法第一个不够清晰,第二个代码感觉太冗余了。
顺便:我们项目中用的是 greenboot 家的 eventbus
整个发送流程是这样的
/**
* event 实体
*/
public class ShowLandingEvent{
...
}
// 发送事件
BusProvider.post(new ShowLandingEvent(...) )
// 接收事件
public void ShowLandingEvent(ShowLandingEvent event){
....
}
个人感觉,会比你的清晰很多。