# Android EventBus 使用指南 在 Android 开发中,组件之间的通信是一项常见且必要的操作。常规的方式往往需要大量的耦合度,EventBus 提供了一种高效简洁的解决方案。本文将带您了解 EventBus 的使用,并通过代码示例进行演示。 ## 什么是 EventBus? EventBus 是一个用于组件间消息传递的开源库,由 Greenrobot 开发。它利用发布-订
原创 9月前
23阅读
log4j2的简单使用Apache Log4j2 是对Log4j 的升级版本,参考了logback 的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要有:异常处理,在logback中,Appender中的异常不会被应用感知到,但是在log4j2中,提供了一些异常处理机制。 性能提升,log4j2 相较于log4j 和 logback 都具有明显的性能提升,有18倍性能提升,后面会
# Android项目中的EventBus: 实现组件之间的解耦 在Android开发中,活动(Activity)和服务(Service)之间的通信是常见的需求。传统的方式往往依赖于回调或者是接口,这可能导致代码复杂并且难以维护。为了解决这个问题,`EventBus`库应运而生。`EventBus`可以帮助你在应用中实现不同组件之间的通信,同时保持较低的耦合度。 ## 什么是EventBus?
原创 11月前
14阅读
文章目录一、EventBus 概述1.1 定义1.2 作用1.3 特点1.4 相关概念二、使用2.1 引用2.2 定义事件2.3 准备订阅者2.3 注册与注销2.4 发布事件涉及的知识点(1) 事件类型(2) 线程模型(3)编译时索引(4)构建者模式(5)混淆源码解析注册(1)EventBus.getDefault()创建EventBus对象(2) register(Object subscri
转载 2023-09-27 21:12:59
67阅读
Android项目实战-手机安全卫士】 目标:快速积累开发经验,具备中级Android工程师能力。 如遇到难以理解的逻辑或功能,可以先将程序打断点观察程序的执行逻辑。 第一章项目简介:欢迎界面、主界面 第二章手机防盗:手机sim卡绑定、GPS定位、远程锁屏、远程删除数据 第三章通讯卫士:黑名单添加、电话拦截、短信拦截 第四章软件管
一、简介订阅发布模式(Publish-Subscribe Pattern)是一种行之有效的解耦框架与业务逻辑的方式,也是一种常见的观察者设计模式,它被广泛应用于事件驱动架构中。在这个模式中,发布者(或者说是主题)并不直接发送消息给订阅者,而是通过调度中心(或者叫消息代理)来传递消息。 发布者(或者说是主题)并不知道订阅者的存在,而订阅者也不知道发布者的存在。他们彼此唯一的关系就是在调度中心注册成为
转载 2024-08-30 21:31:52
65阅读
一、什么是LiveData。LiveData 是可观察的数据持有者类。与常规的可观察对象不同,LiveData具有生命周期感知功能,这意味着它尊重其他应用程序组件(例如活动,片段或服务)的生命周期。这种意识确保LiveData仅更新处于活动生命周期状态的应用程序组件观察者。 如果LiveData的Observer生命周期处于STARTEDor RESUMED 状态,则它认为由类表示的观察者 处于活
转载 6月前
12阅读
前言EventBus是一种用于Android的发布/订阅事件总线。它有很多优点:简化应用组件间的通信;解耦事件的发送者和接收者;避免复杂和容易出错的依赖和生命周期的问题;很快,专门为高性能优化过等等。基础知识EventBus使用了发布者/订阅者模式。发布者通过EventBus发布事件,订阅者通过EventBus订阅事件。当发布者发布事件时,订阅该事件的订阅者的事件处理方法将被调用。使用详解本文将按
前言:EvenBus 很火,不知道什么时候开始,自定义生成模板代替注解。EvenBus 3.0 同样支持了这种预编译处理注解机制。
原创 2022-11-04 20:49:33
113阅读
概述 一般使用EventBus的组件类,类似下面这种方式: 大多情况下,都会在onCreate中进行register,在onDestory中进行unregister ; 代码中以onEvent开头的方法的作用? register(this)就是去当前类,遍历所有的方法,找到onEvent开头的然后进
原创 2021-08-13 10:45:09
64阅读
FragmentManagerViewModel与Fragment的ViewModel现在FragmentManagerViewModel可以在Activity重建时恢复,那么它和Fragment里的ViewModel又是如何关联的呢?FragmentManagerViewModel 里有个成员变量: private final HashMap<String, ViewModelStore&
第一步我们要在Mob官网注册账号然后下载SDK 在这里介绍两种手机验证码的形式一种是封装好的activit试图一种是自定义的试图 将以上文件按需放入Android Studio项目所要使用SMSSDK的Module所在的Libs里面: 2.2、在Module的build.gradle里面将libs加入仓库(repositories): repositories{ fl
转载 8月前
24阅读
Android消息处理机制深度解析笔记前言很多程序猿(媛)都对消息处理机制做过分析,大家都基本了解了MessageQueue、Handler、Looper之间相互之间怎么协同工作,但是具体到消息是如何传递,取出,如何处理的过程并不是那么清晰,本人曾经也是如此。为了拿下这个城池,特此写下此文深入分析其中的每一处是如何工作。一、概述Android的应用程序是通过消息机制来驱动的,深入理解Android
转载 2023-11-27 15:00:58
52阅读
鸿蒙有EventBus吗? EventBus是一种常用的发布-订阅事件总线库,它可以简化Android应用程序中的组件之间的通信。但是,鸿蒙系统与Android系统有所不同,因此是否有EventBus库可用是一个值得探讨的问题。 首先,让我们来了解一下EventBus的基本概念和用法。 EventBus是一种基于发布-订阅模式的事件总线库,它允许不同组件(如Activity、Fragment
原创 2024-01-15 21:56:34
404阅读
概述 EventBus定义:是一个发布 / 订阅的事件总线。 这么说应该包含4个成分:发布者,订阅者,事件,总线。
原创 2021-08-13 10:30:07
254阅读
main.js中 new Vue({ router, store, data: { eventHub: new Vue() }, render: h => h(App), watch: { '$route.path': function(newVal, oldVal) { const userId
原创 2022-04-21 11:54:00
98阅读
什么是OpenCV OpenCV是一个开源的视觉库,它实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV主要用C++语言编写,但是依然保留了大量的C语言接口,但是 所有新的开发和算法都是用C++接口。在Android平台如何使用OpenCV 2.1. 使用Java OpenCV API 这种方法是直接通过Java 语言编写算法的实现部分,相对应的特点在于: 1.环境搭建简单:直接引入官方
转载 2023-08-18 00:00:40
62阅读
ContentPrvider:是Android四大组件之一,是为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。其底层实现也是同过Binder机制,不过用起来比AIDL方便了许多。因为系统已经为我们进行了封装,我们不需要考虑到底层关系就可以实现IPC。ContentProvider对数据的操作类似于数据库,主要是以表格形式来组织数据,并且可以包含多个表,对于每个表,他们都具有行和列
转载 2023-11-19 07:25:11
126阅读
Android上运行Node.js:Node on Android在这个数字化的时代,移动开发已经成为不可或缺的一部分。使用Node.js构建应用程序因其高效和灵活性而备受开发者喜爱。现在,借助开源项目Node on Android,你可以在Android设备上无缝地运行Node.js应用,无需复杂的交叉编译过程。项目介绍Node on Android 是一个创新的工具,它允许你在Android
转载 2024-07-30 17:45:30
93阅读
上一篇文章实现了 FFmpeg 编译及 Android 端的简单调用,成功获取了 FFmpeg 支持的编解码信息,而在实际使用时,需要调用 FFmpeg 内部函数,或通过命令行方式调用,但后者简单很多。怎么让 FFmpeg 运行命令呢?很简单,调用 FFmpeg 中执行命令的函数即可,这个函数位于源码的 ffmpeg.c 文件中:int main(int argc, char **argv)11我
转载 2023-08-01 11:19:59
103阅读
  • 1
  • 2
  • 3
  • 4
  • 5