码迷,mamicode.com
首页 > 移动开发 > 详细

android Model与View解耦的一个简单方式(不需要写接口)

时间:2016-03-28 11:55:07      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

我给我这种模式起名MVE (Model,View,EventBus)。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)

 

android Model与View解耦的一个简单方式(不需要写接口)

标签:

原文地址:http://www.cnblogs.com/yulook/p/5328312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!