android Model与View解耦的一个简单方式

Model与View大家都了解,这里重点介绍的是EventBus。

 

EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。

 

onCreate   里面注册EventBus  :  EventBus.getDefault().register(this);

onDestroy 里面反注册EventBus  :  EventBus.getDefault().unregister(this);

 

注册写好之后就要在Activity或者你的Fragment里面写一个方法  onEvent(Event event)    // 名字必须是onEvent,event是自己定义的存放数据的实体类,在这个方法里面处理数据

 

异步网络请求返回的数据解析完成之后放入event实体类里面,调用 EventBus.getDefault().post(event);  即会执行你已注册的 onEvent 方法。

 

一个Activity如果有多个网络请求不同数据的处理,仍然是写onEvent方法  只不过是event实体类不一样,EventBus会自动区分。  比如 onEvent(MyEvent event); onEvent(OtherEvent event)

 

posted on 2016-03-28 11:18  yuLook  阅读(427)  评论(0编辑  收藏  举报

导航