全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 消息分发使用EventBus的实例详解

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  # 消息分发使用EventBus  # EventBus的使用  # Android实现EventBus登录界面与传值(粘性事件)  # Android EventBus 3.0.0 使用总结(必看篇)  # Android中使用开源框架eventbus3.0实现fragment之间的通信交互  # Android之利用EventBus发送消息传递示例  # Android 中 EventBus 的使用之多线程事件处理  # Android EventBus(普通事件/粘性事件)详解  # 自定义  # 重写  # 如有  # 翻倍  # 数据处理  # 希望大家  # 谢谢大家  # 最新版本  # 还有很多  # 疑问请  # 发送消息  # Activity  # protected  # 基类  # annotation  # processor  # eb  # savedInstanceState  # Bundle  # getDefault 


相关文章: 如何获取开源自助建站系统免费下载链接?  如何用已有域名快速搭建网站?  公司网站设计制作厂家,怎么创建自己的一个网站?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何通过商城免费建站系统源码自定义网站主题?  定制建站是什么?如何实现个性化需求?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  实例解析angularjs的filter过滤器  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  建站之星安装路径如何正确选择及配置?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  图册素材网站设计制作软件,图册的导出方式有几种?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  如何在IIS中新建站点并解决端口绑定冲突?  专业商城网站制作公司有哪些,pi商城官网是哪个?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何在云主机上快速搭建多站点网站?  如何快速搭建虚拟主机网站?新手必看指南  如何有效防御Web建站篡改攻击?  小型网站制作HTML,*游戏网站怎么搭建?  网站制作新手教程,新手建设一个网站需要注意些什么?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  家具网站制作软件,家具厂怎么跑业务?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  青岛网站建设如何选择本地服务器?  电商网站制作公司有哪些,1688网是什么意思?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  建站主机系统SEO优化与智能配置核心关键词操作指南  北京网站制作网页,网站升级改版需要多久?  如何快速打造个性化非模板自助建站?  建站10G流量真的够用吗?如何应对访问高峰?  建站之星与建站宝盒如何选择最佳方案?  如何安全更换建站之星模板并保留数据?  如何用PHP快速搭建CMS系统?  如何快速查询网址的建站时间与历史轨迹?  建站之星下载版如何获取与安装?  Android滚轮选择时间控件使用详解  如何通过建站之星自助学习解决操作问题?  php json中文编码为null的解决办法  建站之星IIS配置教程:代码生成技巧与站点搭建指南  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  魔方云NAT建站如何实现端口转发?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何通过FTP服务器快速搭建网站?  宝塔面板创建网站无法访问?如何快速排查修复?  如何在腾讯云服务器上快速搭建个人网站?  如何通过虚拟主机快速搭建个人网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。