EventBus3.0使用总结】的更多相关文章

本文主要介绍EventBus3.0的源码 EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递. EventBus使用简单,并将事件发布和订阅充分解耦,从而使代码更简洁. 本文主要从以下几个模块来介绍 1.EventBus使用 2.EventBus注册源码解析 3.EventBus事件分发解析 4.EventBus取消注册解析   一.EventBus使用 1.首先是注册 EventBus.getDefault().register(thi…
1,最近看了不少的面试题,不管是百度.网易.阿里的面试题,都会问到EventBus源码和RxJava源码,而自己只是在项目中使用过,却没有去用心的了解它底层是怎么实现的,所以今天就和大家一起来学习学习 2,简介EventBus2.x EventBus是用来干什么的? EventBus是针一款对Android的发布/订阅事件总线.它可以让我们很轻松的实现在Android各个组件之间传递消息,替代Intent,Handler,BroadCast在Fragment,Activity,Service,线…
1,最近看了不少的面试题,不管是百度.网易.阿里的面试题,都会问到EventBus源码和RxJava源码,而自己只是在项目中使用过,却没有去用心的了解它底层是怎么实现的,所以今天就和大家一起来学习学习 2,简介EventBus2.x EventBus是用来干什么的? EventBus是针一款对Android的发布/订阅事件总线.它可以让我们很轻松的实现在Android各个组件之间传递消息,替代Intent,Handler,BroadCast在Fragment,Activity,Service,线…
1.构造函数 当我们要调用EventBus的功能时,比如注册或者发送事件,总会调用EventBus.getDefault()来获取EventBus实例: public static EventBus getDefault() { if (defaultInstance == null) { synchronized (EventBus.class) { if (defaultInstance == null) { defaultInstance = new EventBus(); } } } r…
前言 EventBus是一款针对Android优化的发布/订阅事件总线.简化了应用程序内各组件间.组件与后台线程间的通信.优点是开销小,代码更优雅,以及将发送者和接收者解耦.如果Activity和Activity进行交互还好说,如果Fragment和Fragment进行交互着实令人头疼,我们会使用广播来处理,但是使用广播稍显麻烦并且效率也不高,如果传递的数据是实体类需要序列化,那么很显然成本会有点高.今天我们就来学习下EventBus3.0的使用方法. 1.EventBus概述 EventBus…
当Android项目越来越庞大的时候,应用的各个部件之间的通信变得越来越复杂,那么我们通常采用的就是Android中的解耦组件EventBus.EventBus是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅.以及将发送者和接收者解耦. EventBus文档:http://greenrobot.org/eventbus/documenta…
在Android中,接口回调已经能够处理掉大部分业务需求了,实在太变态的需求就用广播也能够完成,自己写的性能好出问题也好解决.....工作需要,不得不看看EventBus的用法,今天就来介绍一下学习经验. 首先就是引入这个东东,我是直接在maven上下载的jar包,下载地址:http://search.maven.org/#search|ga|1|g%3A%22de.greenrobot%22%20AND%20a%3A%22eventbus%22 下载完成之后,拷贝到我们的项目之中就可以使用了.…
1.概述 在之前的博文中简单介绍过如何实现fragment之间的信息交互:<Android中Fragment与Activity之间的交互(两种实现方式)>,今天继续给大家介绍一种可以实现此效果的另外一种方式EventBus.(相比于handler,接口回调,bundle传参,这个简单好用到哭) EventBus是Android下高效的发布/订阅事件的消息总线.作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment.Activity.Service.线程…
Android事件总线分发库EventBus的简单讲解与实践 导语,EventBus大家应该不陌生,EventBus是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅.以及将发送者和接收者解耦.反正能帮助我们快速开发,这个确实是个好东西,其实鸿洋大神已经对源码作了一个较全面的剖析了 Android EventBus源码解析 带你深入理解Ev…
概述 eventbus出来很久了,最近想用一下eventbus,自己对着一些博客撸了一个demo,发现竟然crash了,然后去看看源码发现3.0的eventbus有了很多改动.技术变化真快,得保持谦虚的态度,踏踏实实的学习.正好今天内部群里发了一个如何新技术的学习图,感觉挺好的 作为一个android入门小白还是要多学点. 基本概念 eventbus是一个是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.比如请求网络,等网络…
作为一枚Android开发者,关于EventBus相信应该都听说过.要是用过就请忽略本文,本文讲得比较基础. 要是没用过,建议你花两分钟看看. 目前EventBus最新版本是3.0,本demo基于3.0编写的. GitHub : https://github.com/greenrobot/EventBus 官方文档:http://greenrobot.org/eventbus/documentation 一.EventBus概述 EventBus是一个Android端优化的publish/sub…
事件总线这个其实没什么好说的,除了已经ondestroy的fragment或者activity不能接受外,只要定义了的都能接收消息 代码如下,需要注意的一点就是接收的监听事件必须用public修饰并且加上@Subscribe注解 compile 'org.greenrobot:eventbus:3.0.0' public class MainActivity extends Activity { private TextView textView; @Override public void o…
修改日志 -- 添加索引部分得细节,添加kotlin的支持方式 https://www.jianshu.com/p/31e3528ca7e5…
转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/6039221.html 本文出自[赵彦军的博客] 前言 EventBus框架 EventBus是一个通用的叫法,例如Google出品的Guava,Guava是一个庞大的库,EventBus只是它附带的一个小功能,因此实际项目中使用并不多.用的最多的是greenrobot/EventBus,这个库的优点是接口简洁,集成方便,但是限定了方法名,不支持注解.另一个库square/otto修改自 Guava ,用的…
01 前言 当我们进行项目开发的时候,往往是需要应用程序的各组件.组件与后台线程间进行通信,比如在子线程中进行请求数据,当数据请求完毕后通过Handler或者是广播通知UI,而两个Fragment之家可以通过Listener进行通信等等.当我们的项目越来越复杂,使用Intent.Handler.Broadcast进行模块间通信.模块与后台线程进行通信时,代码量大,而且高度耦合.现在就让我们来学习一下EventBus 3.0吧. 02 什么是EventBus EventBus Github地址 进…
原文:https://www.jianshu.com/p/f9ae5691e1bb 01 前言 当我们进行项目开发的时候,往往是需要应用程序的各组件.组件与后台线程间进行通信,比如在子线程中进行请求数据,当数据请求完毕后通过Handler或者是广播通知UI,而两个Fragment之家可以通过Listener进行通信等等.当我们的项目越来越复杂,使用Intent.Handler.Broadcast进行模块间通信.模块与后台线程进行通信时,代码量大,而且高度耦合.现在就让我们来学习一下EventBu…
前言 EventBus是greenrobot再Android平台发布的以订阅-发布模式为核心的开源库. EventBus翻译过来是事件总线意思.可以这样理解:一个个(event)发送到总线上, 然后EventBus根据已注册的订阅者(subscribers)来匹配相应的事件,进而把事件传递给订阅者, 这也是观察者模式的一个最佳实践. 我们平常开发中,当遇到Activity与Activity.Activity与Fragment之间的通信,往往采用intent,又 或者线程之间用Handler进行通…
# 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…
Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. EventBus对于Android开发老司机来说肯定不会陌生,它是一个基于观察者模式的事件发布/订阅框架,开发者可以通过极少的代码去实现多个模块之间的通信,而不需要以层层传递接口的形式去单独构建通信桥梁.从而降低因多重回调导致的模块间强耦合,同时避免产生大量内部类.它拥有使用方便,性能高,接入成本低和支持多线程的优点,实乃模块解耦.…
以前的几篇文章简单的介绍了一下UI线程和子线程之间的线程通信利器Handler,以及顺便介绍了一下SyncTask和HeadlerThread.这里介绍另一线程通信利器EventBus. EventBus是一个开源组件.https://github.com/greenrobot/EventBus,通过线程间事件订阅和分发来完成消息传递,通过这种模式来降低组件之间的耦合度. 多说无益,直接看实例. import android.support.v7.app.AppCompatActivity; i…
安装插件,Settings -->[Plugins]-->搜索-->点击install-->重启AS 禁用插件,右侧面板会显示出已经安装的插件列表,取消勾选即可禁用插件 AS插件合集:https://ydmmocoo.github.io/2016/06/28/Android-Studio%E6%8F%92%E4%BB%B6%E6%95%B4%E7%90%86/ Android开发工具及周边插件:http://mobdevgroup.com/tools/android#android…
今天简单的介绍 一下啊 android  EventBus 的使用 EventBus 在官方介绍中是订阅......什么的 一大堆  ,  在我android 菜鸟眼里 就是用来代替android 广播的  简单粗暴 效率高; 其实用法挺简单 的   就   三步   注册(官方叫订阅)   接收   取消(取消订阅). 算了 不多说直接上代码 ; 如果你用的是 android studio 直接在build.gradle 里添加 : compile files('libs/EventBus2.…
 1.EventBus简介 EventBus 是由 greenrobot 组织开发的一个 Android 事件发布/订阅轻量级框架,特点:代码简洁,是一种发布订阅设计模式(观察者设计模式). EventBus 可以代替 Android 传统的 Intent, Handler, Broadcast或接口函数,在 Fragment, Activity, Service 线程之间传递数据,执行方法. (可能线程间的简单通信看不出EventBus的优势,但是进程之间通信代码繁多,特别是复杂的数据格式,而…
1,我们在上一篇讲到了EventBus源码及3.0版本的简单使用,知道了我们3.0版本是使用注解方式标记事件响应方法的,这里我们就有一个疑问了,为什么在一个方法加上类似于"@Subscribe",就可以让我们的反射找到我们的事件响应方法.而且使用过BufferKnife.Dagger.Retrofit的同学或常见"@XXX"这种关键字 .so,抱着弄懂一切不明真相的精神,我们开始了这篇文章的探索. 2,什么是注解? 它提供了一种安全的类似注释的机制,用来将任何的信息…
我本来想写但是在网上看了下感觉写得不如此作者写得好:http://www.jianshu.com/p/da9e193e8b03 前言:EventBus出来已经有一段时间了,github上面也有很多开源项目中使用了EventBus.所以抽空学习顺便整理了一下.目前EventBus最新版本是3.0,所以本文是基于EventBus3.0的. 相关文章EventBus使用详解EventBus源码解析 概述 EventBus是针一款对Android的发布/订阅事件总线.它可以让我们很轻松的实现在Andro…
转载:大话AOP与Android的爱恨情仇 1. AOP与OOP的区别 平时我接触多的就是OOP(Object Oriented Programming面向对象).AOP(Aspect Oriented Programming面向切面)这两种编程方式,我用自己的语言来解释一下这两者的区别: OOP: 专业术语: OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分. 面向对象侧重静态,名词,状态,组织,数据,载体是空间: 大白话: OOP面向对…
两个博客的维护着实费心,方便大家共同学习.督促.进步.感兴趣的伙伴们移步CSDN博客:http://blog.csdn.net/panhouye,博客目录如下: 1.Android中通过实现线程更新ProgressDialog(对话进度条) http://blog.csdn.net/panhouye/article/details/53300233 2.Android中的AlertDialog使用示例一(警告对话框) http://blog.csdn.net/panhouye/article/d…
前言 以前每个页面与每个页面业务逻辑传递让你不知所措,一个又一个接口回调,让你晕头转向,一个又一个参数让你混乱不堪.EventBus一个耦合度低的让你害怕的框架. 什么是EventBus EventBus是一个消息总线,以观察者模式实现,用于简化程序的组件,可以轻易切换线程,实现各组件之间的刷新通知,以及参数的传递.EventBus3.0跟之前版本的区别 是介入了annotation @Subscribe,取代了以前约定命名的方式. EventBus的优点 它代替了广播,startActivit…
什么是EventBus 由greenrobot组织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架,功能:通过解耦发布者和订阅者简化Android事件传递,EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法.特点:代码简洁,是一种发布订阅设计模式(观察者设计模式).   如何使用 首先gradle中引入 compile 'org.g…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com AS 常用插件 目录 目录AS 常用插件必备插件有兴趣的插件没兴趣的插件 AS 常用插件 安装插件:Settings -->[Plugins]-->搜索-->点击install-->重启AS 如果插件过大,在AS可能很难下载成功,可以去 这里 搜索后下载,也可以在AS中搜索到…