扬州陈平24,电光石火boys,三国好孩子
android 消息分发使用eventbus的实例详解
1. androidstudio使用
dependencies { //最新版本 compile 'org.greenrobot:eventbus:3.0.0' //可以翻倍提高eventbus使用效率 provided 'de.greenrobot:eventbus-annotation-processor:3.0.0-beta1' }
2. 在基类activity中配置
/** * activity基类 */ protected eventbus eb; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); //单例模式获取到实例并注册 eb = eventbus.getdefault(); eb.register(this); } @override protected void ondestroy() { //反注册 eb.unregister(this); super.ondestroy(); } //主线程 @subscribe(threadmode = threadmode.main) public void onmainevent(eventbean event) { } //主线程 粘性(比如传递intent使用) @subscribe(sticky = true, threadmode = threadmode.main) public void onmainstickevent(eventbean event) { } //后台 @subscribe(threadmode = threadmode.background) public void onbackgroundevent(eventbean event) { } //重新开启一个线程来执行 @subscribe(threadmode = threadmode.async) public void onasyncevent(eventbean event) { }
一般情况下,常用重写onmainevent ( ) 方法即可。
3. 创建自定义消息实体
//根据不同需求自定义 /** * 自定义event消息 */ public class eventbean { public int id;//类型标识 public object data;//数据对象 //省略constructor & getter & setter }
4. 发送消息
继承自基类activity后: eb.post(new eventbean(1, "data")); //粘性 eb.poststicky(new eventbean(1, "data"));
5. 消息处理
根据数据处理的需求重写基类的4个方法即可。
以上就是android 消息分发使用eventbus的实例,如有疑问请留言或者到本站社区交流讨论,本站关于android的文章还有很多希望大家搜索查阅,谢谢大家对本站的支持!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论