手写butterKnifer使用了 apt 技术。APT 是一种处理注解工具,他对项目源代码进行扫描,获取注解。然后通过注解处理器对注解进行操作,生成新的class文件。
apt技术使用三个技术点:
annotation模块(Java Library) 该模块存放的是我们自定义的注解,是一个Java Library
compiler模块 (Java Library) 依赖annotation模块,
转载
2023-06-30 22:44:58
136阅读
# Android 手写 EventBus 科普文章
EventBus 是 Android 开发中常用的一个事件传递库,它可以帮助我们进行组件间的解耦和通信。在本文章中,我们将从头手写一个简单的 EventBus 实现,通过代码示例和图示来帮助理解其中的原理与结构。
## 1. EventBus 设计原理
EventBus 的核心思想是发布-订阅模式(Publish-Subscribe Pa
事件总线核心逻辑的实现。<!--more-->EventBus的作用Android中存在各种通信场景,
原创
2023-06-02 17:17:45
67阅读
本文由云+社区发表 事件总线核心逻辑的实现。 <! more EventBus的作用 Android中存在各种通信场景,如 之间的跳转, 与`Fragment Activity Fragment Activity setResult onActivityResult SimpleEventBus`(
转载
2018-12-29 12:10:00
103阅读
2评论
一、介绍EventBus是一款针对Android优化的发布/订阅事件总线,他的主要功能的代替Intent,Handler,BroadCast在Service,Activity,Fragment中进行通信传递消息,他的优点是开销小,代码优雅简洁,易上手。1、EventBus的开源库源码:https://github.com/greenrobot/EventBus2、基本使用方法(1)自定义一个消息内
转载
2023-06-26 14:15:57
159阅读
项目地址 :https://github.com/greenrobot/EventBus这个项目个人感觉就是为了解决回调事件过多的,比方说A函数在做完以后 要调用b类的c函数,那我们通常的做法就是 定义一个接口 然后再A函数所属的类里面注册这个接口。然后a函数做完以后 直接调用这个接口即可。但是这种方法写多了以后确实很麻烦,于是EventBus就是用来解决这种场景的。和以往一样,我们只
转载
2023-07-24 16:07:25
81阅读
# Android EventBus 事件总线
## 简介
Android EventBus 是一个开源的发布/订阅事件总线库,用于简化 Android 应用程序内的组件之间的通信。通过使用 EventBus,Android 应用程序可以实现松耦合的通信方式,使组件间的交互更加灵活和可维护。
EventBus 使用了观察者模式,通过在事件发生时发送事件消息,然后订阅者可以接收并响应这些消息。
原创
2023-08-16 06:12:40
68阅读
使用EvnetBus可以实现Android各大组件之间的通信(跨进程呢
原创
2022-11-08 12:36:23
138阅读
# EventBus:Android事件总线
## 引言
在Android应用程序的开发中,我们经常会遇到多个组件之间需要进行通信的情况,如Activity与Fragment之间的通信、Fragment与Fragment之间的通信、Service与Activity之间的通信等等。传统的方式是通过接口回调、广播、发送消息等方式来实现组件间的通信。然而,这些方式都存在一些问题,如代码冗余、复杂性高
原创
2023-08-14 11:44:59
64阅读
EventBus 是在Android 中数据总线的框架,他基于观察者模式。他的优点是体积小,使用简单,效率高,支持不同的线程 如果你的项目中,经常需要在各个对象中传递数据,那么EventBus 将会是你不错的选择。 Git地址:https://github.com/greenrobot/EventBus为什么我们要使用EventBus?1、本身整个框架设计就是为了解决Android 广播那类型复杂
转载
2024-02-24 22:38:14
73阅读
一. 最近在学习的过程中,学习到了一个比较好用的android的开源框架--EventBus。经过几次的百度借鉴与实践了解之后,整理如下,供以后的学习查阅。 二.关于EventBus的定义: &nbs
转载
2023-09-21 12:34:01
105阅读
前言:EventBus刚用不久,之前也不太懂,几经查阅也终于弄明白了,现在记录下来分享一下,用明白了之后发现其逻辑确实简单,并且耐用,现在已经习惯用EventBus了。一、EventBus简介1、EventBus是一款针对Android优化的发布/订阅事件总线2、EventBus主要功能是代替Intent、Handler、BroadCast等在Activity,Fragment,Service线程
转载
2024-02-03 15:36:56
145阅读
1.前言EventBus是一款针对Android优化的发布/订阅事件总线。可以替代广播、startActivityForResult、Handler、异步回调等来实现各组件间、组件与后台线程间的通信。它的优点是开销小,代码更优雅,以及将发送者和接收者解耦。通常我们在使用EventBus的时候都是直接需要接收通信的Activity/Fragment中通过EventBus.getDefault().r
转载
2018-12-20 15:04:00
133阅读
前一篇文章简单介绍了EventBus 3.0的用法,现在是时候详解其用法了。首先声明,EventBus 3.0的改动针对2.4的改动并不是特别大,但是对于其性能的提升是另外一个说法了,所以建议学习EventBus 3.0。 注解 新增的@Subscribe threadMode = ThreadMode.MainThread用注解的方式代替约定的方法名规范,是其最大的改变。在2.4中,你可能需要这
转载
2024-07-22 17:43:16
77阅读
EventBus是一款在Android开发中使用的发布/订阅事件总线框架。基于单例+观察者模式,将事件的接收者和发送者分开,简化了组件之间的通信。其原理图如下: 此框架的使用方式,我们在 里面已经讲过了,这里不多赘述了,下面我们讲一下其原理。一、EventBus 注册订阅方法注册订阅需要调用:EventBus.getDefault().register(this);这里的ge
转载
2023-07-19 14:49:02
261阅读
EventBus优缺点: 优点:简化组件之间的通信方式,实现解耦让业务代码更加简洁,可以动态设置事件处理线程以及优先级 缺点:目前发现唯一的缺点就是类似之前策略模式一样的诟病,每个事件都必须自定义一个事件类,造成事件类太多,无形中加大了维护成本概述: EventBus是一款针对Android优化的发布/订阅(publish/subscribe)事件总线。主要功能是替代Intent,Handle
转载
2023-11-21 23:54:55
270阅读
前言EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。我们今天就来学习一下它。1.EventBus概述EventBus原理图EventBus的四
转载
2023-11-02 22:15:09
100阅读
上一篇研究了EventBus的使用方法,但随之而来的一系列问题也是值得思考,EventBus到底给项目带来了什么?它与Android原有的消息处理机制有什么区别和优缺点?项目在什么场景下采用EventBus会比较合适?因此,本篇就通过EventBus、BroadCast和Handler(Message)三者的比较解释这三个问题。1、BroadCast 广播是相对消耗时间、空间最多的一
转载
2023-12-04 15:18:20
214阅读
EventBus是消息传递的一种方式,基于一个消息中心,订阅和发布消息的模式。设计模式:订阅者发布者模式API设EventBusEventBusC
原创
2022-12-15 21:37:08
136阅读