EventBus3的简单使用

西门子840D新建项目 1、需要一个32位的WIN7或者XP系统,并且已经在系统中安装完成西门子840Dsl开发包和VS2008。(我采用的是XP系统虚拟机) 2、在开始->所有程序找到如下位置 3、在这个位置打开Visual Studio 4、文件->新建->项目 名称和位置都可以随意更改,点击确定。 5、在左侧选择第二个选项进入下面的界面 点击“Add Screen”按钮 可以修改“class name”然后点击“OK”返回上一个界面,再点击“Add Form” 可以修... 阅读详情
功能:可替代 Intent, Handler, BroadCast ,接口等传统方案


添加依赖

  • 在module的build.gredle 文件中的dependencies标签中添加

    compile 'org.greenrobot:eventbus:3.0.0'

使用

普通事件
  • 注册事件

    EventBus.getDefault().register( this );

  • 取消注册

    EventBus.getDefault().unregister( this );
  • 发送数据
    EventBus.getDefault().post( "我发送了");

   事件接收
   @Subscribe(threadMode = ThreadMode.MAIN)
public void hello (String event){
/* Do something */
Toast.makeText(this , event , Toast.LENGTH_SHORT).show();
}

黏性事件

除了上面讲的普通事件外,EventBus还支持发送黏性事件。何为黏性事件呢?简单讲,就是在发送事件之后再订阅该事件也能收到该事件,跟黏性广播类似。具体用法如下:

  • 注册

    EventBus.getDefault().register( this );

  • 事件接收

    @Subscribe(threadMode = ThreadMode.MAIN , sticky = true )
    public void onMessageEventMainThread(String event) {
    Log.e( "event MainThread", "消息: " + event + " thread: " + > Thread.currentThread().getName());
    }

  • 取消注册

    EventBus.getDefault().unregister( this ) ;

  • 发送事件

    EventBus.getDefault().postSticky( "我发送了");


threadMode = 的四种模式: ThreadMode.POSTING  、 ThreadMode.MAIN 、 ThreadMode.BACKGROUND 、 ThreadMode.ASYNC
  • ThreadMode.POSTING:该事件在哪个线程发布出来的,事件处理函数就会在这个线程中运行,也就是说发布事件和接收事件在同一个线程。避免执行耗时操作,因为它会阻塞事件的传递,甚至有可能会引起ANR。
  • ThreadMode.MAIN:处理函数都会在UI线程中执行。该方法可以用来更新UI,不能处理耗时操作。
  • ThreadMode.BACKGROUND:如果事件是在UI线程中发布出来的,那么该事件处理函数就会在新的线程中运行,如果事件本来就是子线程中发布出来的,那么该事件处理函数直接在发布事件的线程中执行。在此事件处理函数中禁止进行UI更新操作。
  • ThreadMode.ASYNC:无论事件在哪个线程发布,该事件处理函数都会在新建的子线程中执行。此事件处理函数中禁止进行UI更新操作。
LPDDR6来了!到底比LPDDR5/5X强在哪?从速度到总线,技术细节一次说清! LPDDR6不仅仅是速度快点、位宽大点那么简单,它是一次架构级的革新,从引脚、总线、时钟管理到Burst协议全部升级。🎯我们正在迈入一个“AI优先”的时代,内存架构也必须跟上。对于做芯片、做整机、做系统的你,理解LPDDR6的技术变化,提前规划测试方案,是现在就该启动的动作! 阅读详情

相关推荐

fMRI脑影像特征提取——静息态与任务态,ALFF/fALFF和ReHo(Dpabi,Rest1.8)

任务态和静息态是大脑的两种状态,前者主要是指大脑在执行记忆、识别以及运动等具体任务时的状态,静息态则是指大脑不执行具体认知任务、保持安静、放松、清醒时的状态,是大脑所处的各种复杂状态中最基础和最本质的状态。任务态fMRI分析有非常悠远的历史,而静息态fMRI自1995年biswal教授及其同事率先报告静息态fMRI具有生理意义后,越来越多的人进入了静息态的研究领域。任务态fMRI主流的分析方法是模型驱动(GLM+HRF),也可以引用静息态fMRI

意疏的学习笔记 6万+

Android消息传递之EventBus 3.0使用与案例

转载请标明出处:http://blog.csdn.net/donkor_/article/details/53534922 前言: greenrobot的EventBus的大名不必多说,在实际项目开发中,使用起来既简单又方便,所以决定写下这篇文章,一方面是总结,一方面是给需要的人看看。目前EventBus最新版本是3.0,所以以下所讲内容都是基于EventBus3.0。相似的产品还有squ...

Sahara_Savage 2675

Uniapp-APP后台保活插件(安卓后台保活)

Uniapp-APP后台保活插件(安卓后台保活)亲测有效!

weixin_57844432的博客 1万+

Android 框架炼成 教你如何写组件间通信框架EventBus(3)

【Android开发核心知识点笔记】【Android思维脑图(技能树)】【Android核心高级技术PDF文档,BAT大厂面试真题解析】【Android高级架构视频学习资源】《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!549043)][外链图片转存中…(img-WvUQQyz3-1712524549043)]

2401_84132685的博客 1000

Raid5损坏两块盘

  以下为浪潮Inspur NF5460M4型号服务器故障处理过程: 设备raid5组损坏两块硬,并raid组处理离线状态,情况如图:     由于硬盘数据比较重要,面对此情况不要慌我们尽量做到安全保守的保证数据尽可能完整,以下为处理方法,(遇raid5两块盘出现问题处理方法)   以下截图均为遇相同问题的解决图案,并非现场截图。 Ctrl+H 进WebBios界面,发现两...

chen_lipeng的博客 2万+

C# WinForm项目目录结构详解:从入门到精通(附常见问题解决方案)

本文详细解析了C# WinForm项目目录结构,从解决方案与项目基础结构到核心文件功能,再到关键目录解析,帮助开发者快速掌握WinForm项目组织方式。文章还提供了常见问题解决方案,如引用丢失、配置文件不生效等,是WinForm开发从入门到精通的实用指南。

dream的博客 647

Android事件总线EventBus 3.0的基本使用

Android组件间、线程间的通信,可以用Handler,BroadcastReceiver,回调等方法来实现,但是这些方法的实现有些繁琐。EventBus可以完成以上所有功能,并采用了“订阅/发布模式”,使代码更优雅、更好的解耦。相似的框架还有Otto、RxBus等,今天先来讲讲EventBus的基本使用。

Houlin的博客 416

从零构建智能ai语音助手:ESP32s3+Python+大语言模型实战指南

本文详细介绍了基于ESP32S3硬件和Python后端的智能语音助手系统开发指南。系统采用ESP32S3采集语音,通过WebSocket实时传输到Python后端处理,利用大语言模型实现自然语言理解和意图识别,再通过TTS合成语音返回。文章从系统架构、工作流程、技术实现(包括OPUS编码、WebSocket通信、ESP32音频处理)等方面进行了详细讲解,并提供了分阶段学习路线和常见问题解决方案。该项目展示了物联网技术与AI技术的融合应用,相比传统语音系统具有更高的灵活性和智能性,为开发者提供了完整的实现方案

Despacito0o的博客 2629

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

前言: 前面两篇不仅学习了子线程与UI主线程之间的通信方式,也学习了如何实现组件之间通信,基于前面的知识我们今天来分析一下EventBus是如何管理事件总线的,EventBus到底是不是最佳方案?学习本篇知识之前建议先回顾一下前两篇知识:Android消息传递之Handler消息机制(一),Android消息传递之组件间传递消息(二)。 消息传递相关文章地址: An...

291

基于深度学习的高精度牙齿健康检测识别系统(PyTorch+Pyside6+YOLOv5模型)

近年来,机器学习和深度学习取得了较大的发展,深度学习方法在检测精度和速度方面与传统方法相比表现出更良好的性能。YOLOv5是单阶段目标检测算法YOLO的第五代,根据实验得出结论,其在速度与准确性能方面都有了明显提升,开源的代码可见https://github.com/ultralytics/yolov5。因此本博文利用YOLOv5检测算法实现一种高精度家禽猪识别检测模型,再搭配上Pyside6库写出界面系统,完成目标检测识别页面的开发。

sc1434404661的博客 5799

避坑指南:Unity与Visual Studio开发环境配置中的5个常见问题及解决方案

本文针对Unity与Visual Studio开发环境配置中的5个常见问题,提供了详细的解决方案。重点解决了项目文件生成失败导致命名空间无法识别、调试器无法附加、包管理器与扩展安装混乱、脚本编译错误以及多版本环境冲突等核心痛点,帮助开发者构建稳定高效的开发调试环境。

weixin_27791839的博客 279

安卓EventBus3.0使用讲解(一)

什么是EventBus   EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。 基本用法   很多文章会讲到Subscri

Allan的博客 771

ABAP面试题系列:写一组会出现死锁(Deadlock)的ABAP程序

我们在计算机操作系统这门专业课上,学过死锁(Deadlock)的概念:两个或两个以上的进程(或线程)在执行过程中,由于竞争资源而造成的一种阻塞的现象,称为死锁。若无外力干预,这些处于死锁状态的进程将永远处于互相等待的阻塞状态中。 正好我儿子走到我电脑前看到文章标题,好奇地问我什么是死锁。我解释道,“假设你和白妹妹(他的玩伴)手上都有一张奥特曼白金卡,你特别想要白妹妹手上那张白金卡,白妹妹也特别想...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1474

EventBus3 简单使用及注意点

EventBus3 简单使用及注意点

心现识变妙莲华 4896

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

EventBus3.0的简单使用

EventBus3.0的简单使用EventBus 简介 EventBus是一个 Android 以发布者/订阅者模式的开源库,如图 EventBus 使用场景(解耦) 组件之间的交互 回调使用场景 广播使用场景 Activity之间的交互、Activity与Fragment之间的交互、Fragment之间的交互、以及不同线程见得交互 避免复杂和错误的依赖和生命周期问题 更快,尤其最大化的利用性能 更

浅巷酒香的专栏 382

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

EventBus3 简单使用

Android studio

qq_26064283的博客 478

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Eventbus3.0简单使用

1.介绍         首先,来简单的收一下Eventbus,它是一种专门针对Android优化的发布/订阅事件总线。简化了应用程序和各个组件之间与线程之间的通信。优点是开销小,代码少以及将发送者和接受者解耦。如果Activity与Activity之间互相交互的话还好一些,如果说Fragment和Fragment之间交互非常让人头痛,我们有可能会使用广播来处理,或者是setArguments(

南城一点风雨的博客 523

EventBus3.0+ 简单使用

EventBus是由greenrobot 组织贡献的一个Android事件发布/订阅轻量级框架。EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。

qq_38056514的博客 987

EventBus 3.0 简单使用

功能:通过解耦发布者和订阅者简化Android事件传递 EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法。特点:代码简洁,是一种发布订阅设计模式(观察者设计模式)使用场景 用于线程间的通讯代替handler或用于组件间的通讯代替Intent 广泛用于团购,商城,

雨一直下、、 510

Android Eventbus 3简单使用

本文旨在记录最热门框架的使用及简单实例,起到抛砖引用的目的,若有更复杂需求,还请参考其他资料.EventBus8: 概念: 应用程序内各组件间、组件与后台线程间的数据传递框架,post()和onEvent()的发送和接收使用: 1:添加依赖 compile 'org.greenrobot:eventbus:3.0.0'2:定义一个事件类public class MessageEvent

Aile 480

EventBus3.0使用总结(一)简单使用

EventBus3.0

IT_默 803

Kotlin简单使用EventBus3.x

我的博客原文地址:Kotlin简单使用EventBus3.x 完成功能:替换activity间传值的繁琐过程 使用到的 Kotlin 语法 我也是现学现用的,写的不对,多多指教 AS版本:2.3 EventBus版本:3.1.1 Kotlin 环境 这个网上很多讲解了,我也是看着别人的博客搭建的。就装一个 Kotlin 插件,然后导入 EventBus3 ,导入步骤看

龙衣 4635

Eventbus3.0的简单使用

简介我们使用一个框架或者控件,首先需要知道他的作用,有什么优势。Eventbus3.0这说白了就是一个事件发布和订阅的框架。直白点说就是一边发送消息,或数据,另外一边接收消息或数据。它发送消息和接收消息的代码十分的简洁,用起来十分的简单。先说下使用的代码吧这里看不懂不要着急在下面有详解哦!导入框架在安卓studio的build文件下加入 compile’org.greenrobot:eventbu

z957250254的博客 452

EventBus系列:EventBus3.0 简单使用

上效果: 先引入EventBus依赖: implementation 'de.greenrobot:eventbus:3.0.0-beta1' 需要接受信息的Acitivity, 注册EventBus,并在onDestroy()中解除。 public class MainActivity extends AppCompatActivity { TextView tvName; @Override protected void onCreate(Bundle savedIn

知道这个有什么用? 261
上一篇: Android BroadcastReceiver使用详解
下一篇: Android 环信EaseUI遇到的问题及解决方法
胡小明同学
博客等级 码龄10年 35粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值