EventBus 的简单使用
来源:互联网 发布:手机淘宝如何降价提醒 编辑:程序博客网 时间:2024/05/16 05:20
1. 简介
EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。
2. 下载地址
https://github.com/greenrobot/EventBus
3. 使用步骤
3.1 添加jar包到libs文件夹下
3.2 注册
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EventBus.getDefault().register(this);}
3.3 解注册
@Overrideprotected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this);}
3.4 构建发送消息类
public class MessageEvent { public String name; public String password; public MessageEvent(String name, String password) { this.name = name; this.password = password; }}
3.5 发布消息
EventBus.getDefault().post(new MessageEvent("dahaige","123456"));
3.6 接收消息
@Subscribe(threadMode = ThreadMode.MAIN) public void messageEventBus(MessageEvent event){ tv_result.setText("name:"+event.name+" passwrod:"+event.password); }ThreadMode.MAIN 表示这个方法在主线程中执行ThreadMode.BACKGROUND 表示该方法在后台执行,不能并发处理ThreadMode.ASYNC 也表示在后台执行,可以异步并发处理。ThreadMode.POSTING 表示该方法和消息发送方在同一个线程中执行
4. 粘性事件
之前说的使用方法, 都是需要先注册(register), 再post,才能接受到事件;
如果你使用postSticky发送事件, 那么可以不需要先注册, 也能接受到事件.
4.1 构建发送消息类
public class StickyEvent { public String msg; public StickyEvent(String msg) { this.msg = msg; }}
4.2 发送消息
EventBus.getDefault().postSticky(new StickyEvent("我是粘性事件"));
4.3 接收消息(sticky = true)
//注意,和之前的方法一样,只是多了一个 sticky = true 的属性. @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) public void onEvent(StickyEvent event){ tv_c_result.setText(event.msg); }
4.4 注册
EventBus.getDefault().register(CActivity.this);
4.5 解注册
EventBus.getDefault().removeAllStickyEvents();EventBus.getDefault().unregister(CActivity.class);
0 0
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus 的简单使用
- EventBus的简单使用
- EventBus的简单使用
- EventBus 《二》 Android EventBus的简单使用
- EventBus框架的简单使用
- Android EventBus的简单使用
- EventBus使用的简单介绍
- EventBus最简单的使用
- Android EventBus的简单使用
- 决策树分类
- mongodb操作集合
- 爱人如己
- Pthread锁机制
- shareSdk集成短信验证码
- EventBus 的简单使用
- HttpClient多线程并发问题
- OpenGL超级宝典 -- VS配置
- RGraph 系列文章(四):基本图形示例
- 安卓根据签名文件获取MD5、SHA1、SHA256值的步骤
- PAT-B 1046. 划拳(15)
- LATEX学习资源
- keypoint of《Rich feature hierarchies for accurate object detection and semantic segmentation》
- 开发高性能的MongoDB应用—浅谈MongoDB性能优化