Android框架之EventBus的简单使用
2015-10-27 18:12
417 查看
EventBus是一款针对Android优化的发布/订阅事件总线,主要功能是代替Intent,BroadCast在Fragment,Activity,Service,线程之间传递消息,优点是开销小,代码更优雅,以及发送者和接受者的解耦
EventBus的使用:
1:EventBus在发送消息的时候需要一个实体类,这个类可以是一个空类,也可以是里面有数据的类,尽量在使用的时候在实体类中添加字段,可以是一个String或者Boolean
2:在发送类中,调用EventBus,发送消息,将创建的实体类给发送出去。
3:在接收类中,首先要对EventBus进行注册,不注册的EventBus是不能使用的,注册代码:
4:在接收类的接收方法中进行自己相应的操作,
5:在activity的生命周期的onDestory()中对EventBus进行解除注册
示例代码如下:
发送EventBus
接受类对Eventbus进行注册
在注册的方法中进行相应的处理
以上就是Event Bus的使用全部代码了,很简单,在实际应用中很普遍的确是开发的利器
EventBus的使用:
1:EventBus在发送消息的时候需要一个实体类,这个类可以是一个空类,也可以是里面有数据的类,尽量在使用的时候在实体类中添加字段,可以是一个String或者Boolean
2:在发送类中,调用EventBus,发送消息,将创建的实体类给发送出去。
3:在接收类中,首先要对EventBus进行注册,不注册的EventBus是不能使用的,注册代码:
EventBus.getDefault().register(Context, String)Context为上下文,String是接收类中接收的方法名
4:在接收类的接收方法中进行自己相应的操作,
5:在activity的生命周期的onDestory()中对EventBus进行解除注册
示例代码如下:
发送EventBus
//发送的实体类 PersonLabel personLabel = new PersonLabel(); personLabel.text = “Doraemon”; //发送EventBus EventBus.getDefault().post(personLabel);
接受类对Eventbus进行注册
//注册时,注册的方法名一定要与接收处理的方法名一致,不然eventBus调用不成功 EventBus.getDefault().register(this, "PersonLabel");
在注册的方法中进行相应的处理
public void PersonLabel(com.renrui.job.model.eventbus.PersonLabel personLabel) { if (personLabel != null) { tv_text.setText(personLabel.text); } }
以上就是Event Bus的使用全部代码了,很简单,在实际应用中很普遍的确是开发的利器
相关文章推荐
- Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
- 【转】android:layout_gravity和android:gravity的区别
- Android传感器框架分析
- Android基础之AutoCompleteTextView的使用
- Android Add外部library工程,总是链接失败的原因
- 解决 Gradle DSL method not found: 'android()'
- android studio 怎么回到欢迎界面
- Android开发,仿苹果的弹出窗口界面、以及窗口动画效果、窗口圆角实现。
- Android PackageManagerService流程详细分析(一)之启动
- 如何在Xamarin中引用原生的AndroidClassLibrary所产生出来的Jar档
- Android应用安全现状与解决方案(学习资料)
- 初识android的消息处理机制
- Android启动另一个应用
- 转Android 用Animation-list实现逐帧动画
- Android 定时操作方法AlarmManager,Timer,Handler
- Android 硬件加速
- Android 广播注册方式
- 【转】Android fill_parent和wrap_content分析
- Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单
- Android 自定义xml中的view。适配