Android EventBus】的更多相关文章

转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/40794879,本文出自:[张鸿洋的博客] 1.概述 最近大家面试说经常被问到EventBus,github上果断down了一份,地址:https://github.com/greenrobot/EventBus,的确是个不错的框架,主要用于事件的发布和订阅. EventBus定义:是一个发布 / 订阅的事件总线. 这么说应该包含4个成分:发布者,订阅者,事件,总线. 那么这四者…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:[张鸿洋的博客] 上一篇带大家初步了解了EventBus的使用方式,详见:Android EventBus实战 没听过你就out了,本篇博客将解析EventBus的源码,相信能够让大家深入理解该框架的实现,也能解决很多在使用中的疑问:为什么可以这么做?为什么这么做不好呢? 1.概述 一般使用EventBus的组件类,类似下面这种方式: public cl…
今天简单的介绍 一下啊 android  EventBus 的使用 EventBus 在官方介绍中是订阅......什么的 一大堆  ,  在我android 菜鸟眼里 就是用来代替android 广播的  简单粗暴 效率高; 其实用法挺简单 的   就   三步   注册(官方叫订阅)   接收   取消(取消订阅). 算了 不多说直接上代码 ; 如果你用的是 android studio 直接在build.gradle 里添加 : compile files('libs/EventBus2.…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:[张鸿洋的博客] 上一篇带大家初步了解了EventBus的使用方式,详见:Android EventBus实战 没听过你就out了,本篇博客将解析EventBus的源代码,相信能够让大家深入理解该框架的实现.也能解决非常多在使用中的疑问:为什么能够这么做?为什么这么做不好呢? 1.概述 一般使用EventBus的组件类,相似以下这样的方式: public…
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/40794879.本文出自:[张鸿洋的博客] 1.概述 近期大家面试说常常被问到EventBus,github上果断down了一份.地址:https://github.com/greenrobot/EventBus.的确是个不错的框架.主要用于事件的公布和订阅. EventBus定义:是一个公布 / 订阅的事件总线. 这么说应该包括4个成分:公布者,订阅者,事件.总线. 那么这四者…
EventBus的使用和原理在网上有很多的博客了,其中泓洋大哥和启舰写的非常非常棒,我也是跟着他们的博客学会的EventBus,因为是第一次接触并使用EventBus,所以我写的更多是如何使用,源码解析就不怎么样啦! 如需转载请注明出处:Android EventBus 3.0 实例使用详解 一.概述 EventBus是一款Android下的发布/订阅事件总线机制.可以代替Intent.Handler.Broadcast等在Fragment.Activity之间传递消息. 优点:开销小,代码优雅…
EventBus EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递.传统的事件传递方式包括:Handler.BroadCastReceiver.Interface 回调,相比之下 EventBus 的优点是代码简洁,使用简单,并将事件发布和订阅充分解耦. 事件(Event):又可称为消息.其实就是一个对象,可以是网络请求返回的字符串,也可以是某个开关状态等等.事件类型(EventType)指事件所属的 Class.事件分为一般事件…
出处:http://blog.csdn.net/lmj623565791/article/details/40794879 1.概述 最近大家面试说经常被问到EventBus,github上果断down了一份,地址:https://github.com/greenrobot/EventBus,的确是个不错的框架,主要用于事件的发布和订阅. EventBus定义:是一个发布 / 订阅的事件总线. 这么说应该包含4个成分:发布者,订阅者,事件,总线. 那么这四者的关系是什么呢? 很明显:订阅者订阅事…
今天,简单讲讲Android里关于EventBus的使用. 这几天,由于面试的缘故,我听到了很多Android的流行框架,但是之前自己在公司做APP时并没有使用,所以没有了解.于是在网上查找了资料,学习了这些Android的流行框架的使用,准备做一个Android流行框架的专栏.分别介绍Android框架:EventBus,RXJava,Retrofit,OKHttp,Dagger2,ButterKnife,Glide,volle,green这些框架.目前只打算将这些框架的基本使用,以后再项目里…
原文地址:[开源库推荐]#3 Android EventBus的使用 | Stars-One的杂货小窝 EventBus的Github Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality Android和Java的事件总线,简化了活动,片段,线程,服务等之间的通信.代…
转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/6039221.html 本文出自[赵彦军的博客] 前言 EventBus框架 EventBus是一个通用的叫法,例如Google出品的Guava,Guava是一个庞大的库,EventBus只是它附带的一个小功能,因此实际项目中使用并不多.用的最多的是greenrobot/EventBus,这个库的优点是接口简洁,集成方便,但是限定了方法名,不支持注解.另一个库square/otto修改自 Guava ,用的…
项目地址 :https://github.com/greenrobot/EventBus 这个项目个人感觉就是为了解决回调事件过多的,比方说A函数在做完以后 要调用b类的c函数,那我们通常的做法就是 定义一个接口 然后再A函数所属的类里面注册这个接口. 然后a函数做完以后 直接调用这个接口即可.但是这种方法写多了以后确实很麻烦,于是EventBus就是用来解决这种场景的. 和以往一样,我们只解析他的源码,如果你要学习他的用法请自行谷歌. 我们就从register函数开始说起. private s…
https://github.com/greenrobot/EventBus onEvent:如果使用onEvent作为订阅函数,那么该事件在哪个线程发布出来的,onEvent就会在这个线程中运行,也就是说发布事件和接收事件线程在同一个线程.使用这个方法时,在onEvent方法中不能执行耗时操作,如果执行耗时操作容易导致事件分发延迟.onEventMainThread:如果使用onEventMainThread作为订阅函数,那么不论事件是在哪个线程中发布出来的,onEventMainThread…
Enventbus的作用和好处我就不多说了,这里介绍下怎么使用. 2.+版本的使用方法 public void onEvent(MessageEvent event) { log(event.message); } public void onEventMainThread(MessageEvent event) { textField.setText(event.message); } public void onEventBackgroundThread(MessageEvent event…
EventBus 是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent, Handler, BroadCast 在 Fragment,Activity,Service,线程之间传递消息.优点是开销小,使用方便,可以很大程度上降低它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量. 类似的库还有 Otto ,今天就带大家一起研读 EventBus 的源码. 在写这篇文章之前,我已经将本文相关的中文注释代码上传到了GitHub:https://github…
EventBus为Github上的开源项目,地址:https://github.com/greenrobot/EventBus 疑问:1. 现在都是Android Studio创建的项目,如何导入这些项目(对工具不熟悉):2. 如何得到这些开源项目的.jar包? EventBus概念分析(获取感性认识): 所述publisher为发布者,subscriber为订阅者:Event的Publisher为事件的所有者,而各个Subscriber会收到对应的Event. 其主要功能是替代Intent.H…
EventBus EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现. 作为一个消息总线,有三个主要的元素: Event:事件 可以是任意类型的对象. Subscriber:事件订阅者,接收特定的事件 在EventBus中,使用约定来指定事件订阅…
添加依赖 implementation 'org.greenrobot:eventbus:3.1.1' public class HuaDongActivity extends Activity { private Button nianxing; // 用来判断是否需要停止事件的继续分发 private boolean stopDelivery = false; @Override protected void onCreate(Bundle savedInstanceState) { sup…
post()方法调用流程 我们继续来看EventBus类,的另一个入口方法post() //已省略部分代码 public void post(Object event) { PostingThreadState postingState = currentPostingThreadState.get(); List<Object> eventQueue = postingState.eventQueue; eventQueue.add(event); if (!postingState.isP…
上一节讲了EventBus的使用方法和实现的原理,下面说一下EventBus的Poster只对粘滞事件和invokeSubscriber()方法是怎么发送的. Subscribe流程 我们继续来看EventBus类,分析完了包含的属性,接下来我们看入口方法register() 通过查看源码我们发现,所有的register()方法,最后都会直接或者间接的调用register()方法 /** * @param subscriber 订阅者对象 * @param sticky 是否粘滞 * @para…
注解问题 EventBus 的 粘性事件,可以让 成功注册后的 Activity.Fragment 后再接收处理 这一事件. 但是今晚写代码时,突然发现粘性事件,发送不成功了.??? 具体情况是:我在Activity1 向 Activity 2 发送了 粘性事件 ,但是 Activity2 却接收不了这个粘性事件了.这究竟是咋回事,首先从Activity的注册事件到发送EventBus粘性事件的时机再到EventBus工具类都检查了一遍,最后发现,妈耶,接收EventBus事件的处理函数忘记打上…
参考: Android 框架炼成 教你如何写组件间通信框架EventBus Android EventBus源码解析 带你深入理解EventBus Android EventBus实战 没听过你就out了 快速Android开发系列通信篇之EventBus EventBus是一个publish/subscribe (发布 / 订阅) 消息的总线,简化了应用程序内各组件间.组件与后台线程间的通信.比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41096639 .本文出自:[张鸿洋的博客] 1.概述 关于Eventbus的介绍.前面已经有两篇:Android EventBus实战 没听过你就out了和Android EventBus源代码解析 带你深入理解EventBus . 假设你觉得还有问题,没关系,接下来我带大家手把手打造从无到有的编写这种框架~~~ 首先我们回想一下,这玩意就是在register时,扫描类中复合命…
[Android]事件总线之EventBus的使用背景 在我们的android项目开发过程中,经常会有各个组件如activity,fragment和service之间,各个线程之间的通信需求:项目中用的最多的是Android框架的广播机制,android的广播机制是基于系统的Binder机制实现IPC或者进程内部的通信,而Binder这种IPC机制相比于Linux原有的机制来说具有,性能更好.安全性更高和易用性更好的特点,所以android系统中很多系统事件都是基于广播的方式来发送,如开机广播.…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41096639 ,本文出自:[张鸿洋的博客] 1.概述 关于Eventbus的介绍,前面已经有两篇:Android EventBus实战 没听过你就out了和Android EventBus源码解析 带你深入理解EventBus , 如果你觉得还有问题,没关系,接下来我带大家手把手打造从无到有的编写这样的框架~~~ 首先我们回顾一下,这玩意就是在register时,扫描类中复合命…
上一篇研究了EventBus的使用方法,但随之而来的一系列问题也是值得思考,EventBus到底给项目带来了什么?它与Android原有的消息处理机制有什么区别和优缺点?项目在什么场景下采用EventBus会比较合适?因此,本篇就通过EventBus.BroadCast和Handler(Message)三者的比较解释这三个问题. 1.BroadCast 广播是相对消耗时间.空间最多的一种方式,但是大家都知道,广播是四大组件之一,许多系统级的事件都是通过广播来通知的,比如说网络的变化.电量的变化,…
最近老是听到技术群里面有人提出需求,activity跟fragment交互数据,或者从一个activity跳转到另外一个activity的fragment,所以我给大家介绍一个开源项目,EventBus.在 TextView+Fragment实现底部导航栏   这个Demo的基础上实现fragment跟activity的传参,从设置界面的activity如何跳转到首页的推荐. Android EventBus是345大神 告诉我的.然后自己网上找资料学习了下,简单方便好用.我参考的是鸿洋大神的博…
github地址:https://github.com/greenrobot/EventBus 1, Android EventBus实战, 没听过你就out了 2,  Android EventBus源码解析, 带你深入理解EventBus 3,Android框架炼成, 教你如何写组件间通信框架EventBus…
EventBus Features What makes greenrobot's EventBus unique, are its features: Simple yet powerful: EventBus is a tiny library with an API that is super easy to learn. Nevertheless, your software architecture may great benefit by decoupling components:…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:[张鸿洋的博客] 上一篇带大家初步了解了EventBus的使用方式,详见:Android EventBus实战 没听过你就out了,本篇博客将解析EventBus的源码,相信能够让大家深入理解该框架的实现,也能解决很多在使用中的疑问:为什么可以这么做?为什么这么做不好呢? 1.概述 一般使用EventBus的组件类,类似下面这种方式: public cl…