androideventbus(androideventbus原理)
本篇文章给大家谈谈androideventbus,以及androideventbus原理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Android开发-EventBus使用详解
- 2、Android中使用事件总线的优缺点分别是什么?
- 3、如何在android studio中导入EventBus
- 4、android eventbus怎么使用
Android开发-EventBus使用详解
我们大家在使用EventBus的时候,需要了解他的逻辑原理丛早,不必了解它的源码,那么高深。所以我就在这里不讲源码了!
首先EventBus是一个订阅者模式,也就升氏是像我们关注一个微信公众号一样,公众号是发消息者,我们关注该公众号的人就是订阅的人,也就是收消息的。公众号只要一有新的消息推送,我们的微信就会弹出一条公众号所发的消息,这就像EventBus逻辑一样。
首先我们使用EventBus时需要注册,具体在什么时间注吵郑散册,根据自己的需要去注册,如果不注册,EventBus就无法正常发送消息,
接收者也就无法接收到发送的消息,我的项目是用EventBus传值,所以我就写在Base类中了,不过你们写demo的话可以写在onCreate中。
EventBus注册
EventBus取消注册(一般我们写在onDestroy中,或者onStop中,不过我都是写在onDestroy中)
正常使用发送消息,我这里的HomeFragmentRequest 就是一个Bean类,我们可以定义普通类型数据,只不过发送什么类型,我们就要用什么类型去接收
正常接收消息,也就是接收发送过来的消息(方法名自定义,一定要用发送过来的数据类型#必须带上注解#)
粘性事件的发送方式
有人猜到了,接受和普通接受一样只不过在注解的后面加了点作料,这样我们就能在创建前保存,创建之后使用传递过来的数据啦
Android中使用事件总线的优缺点分别是什么?
Android中使用事件总线Eventbus的优缺点如下:
1.Android EventBus事件总线是一个Android平台轻量级的事件总线框架, 它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使得代码更加简洁,耦合性更低,提升代码质量。
2.AndroidEventBus使用注解来标识接收函数,这样函数名不受限制。
3.缺点是要实现上述订阅/发布模型的功能,付出的代价就是对各个注册Bus的类进正闹尺弯备行反射。如果大量的使用的情况下,对应用的性能多少有点副影响。
AndroidEventBus类似于观察者模式,通过register函数将需要订阅事件的对象注册到事件总线中,然后根据@Subcriber注解来查找对象中的订阅举高方法,并且将这些订阅方法和订阅对象存储在map中。当用户在某个地方发布一个事件时,事件总线根据事件的参数类型和tag找到对应的订阅者对象,最后执行订阅者对象中的方法。这些订阅方法会执行在用户指定的线程模型中,比如mode=ThreadMode.ASYNC则表示该订阅方法执行在子线程中
如何在android studio中导入EventBus
要看是导入jar包还是library!
如果是jar的话,复制需要添加竖握的jar,并将其黏贴到app— —src— —main— —libs文件夹下,可运行的AndroidStudio项目都有像这样的目录结圆灶构。橘纤扮可以看到虽然jar已经复制黏贴过来了,但是还未导入,所以看不到jar中包含的内容。而已导入的jar,则可以看到jar中内容。右键点击新粘贴的jar,在弹出菜单中点击Add As Library.,这样就完成导入了!
如果是library,把类库目录copy到项目的目录下,添加后android studio的项目下会自动出现这个目录,接下来需要手工修改项目跟目录下settings.gadle 添加
include ':App',':类库名',这里必须手工修改没有其他方法!
然后在打开App/build.gradle这个文件,添加
dependencies{
compile project(':类库名')
}
这时在打开Open Module Settings就可以看到,已经导入的类库!
android eventbus怎么使用
1、下载EventBus 2、让自己的项目依赖EventBus 3、自定义一个事件(不需要继承任何类),通常我比较喜欢定义一个Message类 4、定义回调函数,相当于观察者模式中的on***Listener函数,在EventBus中可以扒竖定义四种类春橘大型的回伍凳调函数: a、onEvent 它和。可以看看安卓巴士的教程:
[img]关于androideventbus和androideventbus原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。