# EventBus用于android线程间的通信,方便将子线程的数据发送的UI线程,对UI界面更新;总体来说对于这个过程可以分为3个步骤:

1.创建event,用于传递信息;

比如你需要传List集合数据,就创建如下一个包含list元素的实体类:

public class EventList {

    List<User> list ;

    public EventList(List<User> list) {
this.list = list;
} public List<User> getList() {
return list;
} public void setList(List<User> list) {
this.list = list;
}
}

2.通过post发送消息传递一个保存消息的实体类对象

 EventBus.getDefault().post(new EventList(data)); //data为数据

3.在接收的地方注册eventBus同时完成接收处理

注册:

EventBus.getDefault().register(this);

接收 ,对于EventBus3.0已经支持任意的回调函数名,通过注解来找到回调入口,通过设置ThreadMode来设置回调在主线程或子线程 ,通过传入不同的event实体类来区别不同的EventBus请求

 @Subscribe(threadMode = ThreadMode.MAIN)
public void UpdateDutyInfo(EventList eventList) { if (eventList.getList() != null) {
tvAttendanceId1.setText(eventList.getList().get(0).getNum());
tvAttendanceId2.setText(eventList.getList().get(1).getNum());
tvAttendanceId3.setText(eventList.getList().get(2).getNum()); tvAttendanceName1.setText(eventList.getList().get(0).getName());
tvAttendanceName2.setText(eventList.getList().get(1).getName());
tvAttendanceName3.setText(eventList.getList().get(2).getName());
}
}

 当 

threadMode = ThreadMode.MAIN 

 为主线程回调,可以进行ui更新操作

EventBus的使用的更多相关文章

  1. Android消息传递之基于RxJava实现一个EventBus - RxBus

    前言: 上篇文章学习了Android事件总线管理开源框架EventBus,EventBus的出现大大降低了开发成本以及开发难度,今天我们就利用目前大红大紫的RxJava来实现一下类似EventBus事 ...

  2. EventBus实现activity跟fragment交互数据

    最近老是听到技术群里面有人提出需求,activity跟fragment交互数据,或者从一个activity跳转到另外一个activity的fragment,所以我给大家介绍一个开源项目,EventBu ...

  3. 【热门技术】EventBus 3.0,让事件订阅更简单,从此告别组件消息传递烦恼~

    一.写在前面 还在为时间接收而烦恼吗?还在为各种组件间的消息传递烦恼吗?EventBus 3.0,专注于android的发布.订阅事件总线,让各组件间的消息传递更简单!完美替代Intent,Handl ...

  4. 快速Android开发系列通信篇之EventBus

    先吐槽一下博客园的MarkDown编辑器,推出的时候还很高兴博客园支持MarkDown了,试用了下发现支持不完善就没用了,这次这篇是在其他编辑器下写的,复制过来后发现..太烂了.怎么着作为一个技术博客 ...

  5. ABP源码分析二十五:EventBus

    IEventData/EventData: 封装了EventData信息,触发event的源对象和时间 IEventBus/EventBus: 定义和实现了了一系列注册,注销和触发事件处理函数的方法. ...

  6. ABP框架 - 领域事件(EventBus)

    文档目录 本节内容: EventBus 注入 IEventBus 获取默认实例 定义事件 预定义事件 处理完异常 实体修改 触发事件 处理事件 处理基类事件 处理程序异常 处理多个事件 处理程序注册 ...

  7. Android开发学习之路-EventBus使用

    EventBus是一个通过发布.订阅事件实现组件间消息传递的工具. 它存在的目的,就是为了优化组件之间传递消息的过程.传统组件之间传递消息的方法有使用广播,回调等,而这些方法使用都比较复杂. 工作原理 ...

  8. Android消息传递之EventBus 3.0使用详解

    前言: 前面两篇不仅学习了子线程与UI主线程之间的通信方式,也学习了如何实现组件之间通信,基于前面的知识我们今天来分析一下EventBus是如何管理事件总线的,EventBus到底是不是最佳方案?学习 ...

  9. Android EventBus 3.0.0 使用总结

    转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/6039221.html 本文出自[赵彦军的博客] 前言 EventBus框架 EventBus是一个通用的叫法 ...

  10. EventBus

    EventBus GitHub 上的地址 https://github.com/greenrobot/EventBus EventBus干的事情可以概括来说 别人可以根据某一个事件订阅我,但是他得去实 ...

随机推荐

  1. 百度在线笔试编程测试题(Python):整数分解成素数的积

    编程测试题: 输入一个正整数将其分解成素数的乘积,输入格式连续输入m个数,然后将这m个数分别分解,如 输入: 2 10 20 输出: 2 5 2 2 5 Python code: def primes ...

  2. 我们应当怎样学习HTML和CSS

    目标读者:web前端小白.大神请绕路 学习一门新技术,应当找一本经典入门书,在两三天之内快速翻阅完毕,了解其概貌. 然后再制定一个学习路线图(这个路线图绝大多数情况下非书本目录的顺序),接着遵循学习路 ...

  3. cloudfoundry上搭建go服务端

    虽然只有60天试用期,我还是把教程公布一下: 1. 注册一个cloudfoundry账号 https://console.run.pivotal.io/register 2. 安装CLI部署工具包 h ...

  4. Go语言开发环境配置

    一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014 ...

  5. Observer pattern 观察者模式

    一.认识观察者模式 我们看看报纸和杂志的订阅是怎么回事: 1.报社的业务就是出版报纸. 2.向某家报社订阅报纸,只要他们有新的报纸出版,就会给你送来,只要你是他们的订户,你就会一直收到报纸. 3.当你 ...

  6. JAVA 循环语句的练习

    /*for(int i=1;i<=10;i++)   //输出一个三角形 { for (int j=1;j<=i;j++) { System.out.print("*" ...

  7. (DFS、bitset)AOJ-0525 Osenbei

    题目地址 简要题意: 给出n行m列的0.1矩阵,每次操作可以将任意一行或一列反转,即这一行或一列中0变为1,1变为0.问通过任意多次这样的变换,最多可以使矩阵中有多少个1. 思路分析: 行数比较小,先 ...

  8. Android - 设置TextView的字体行间距 - TextView

    xml文件中给TextView添加: android:lineSpacingExtra="10dp"// 行间距 android:lineSpacingMultiplier=&qu ...

  9. Linux——makefile

    1.vim Makefile 或 vim makefile 2. targetName:a.o b.o   #targetFileName:A.c B.c ,split with a space gc ...

  10. android学习之线性布局

    效图如下 移通152余继彪 该布局使用了线性布局完成 父布局为线性布局,黄色和灰色部分为水平的线性布局,剩余50%部分为水平线性布局,该布局中包含了两个垂直的线性布局分别占了三分之1和三分之二