本文主要是介绍EventBus--事件总线:观察者模式的拓展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
为何要使用
android应用开发中,经常会涉及Activity,Fragment,Service等不同组件或者模块之间的消息传递。使用传统的方法实现,往往代码不够优雅,而且不同组件和模块之间的耦合严重。随着模块的增多、代码逻辑的不断新增和修改,整个代码的架构就会显得越来越混乱。为了便于理解,下面举例说明:
例1
Activity中的不同的fragment之间需要进行通信,传统的做法是 将activity作为中介,Fragment A通过getActivity()获取宿主的Activity实例进而可以拿到Fragment B的实例,从而向Fragment B发送消息或者获取数据。好一点的做法是在Fragment中编写接口,让宿主Activity实现该接口,从而在Activity中实现不同Fragment之间的数据通信。
如链接:https://blog.csdn.net/yangyin3096/article/details/51476453
例2
多个Activity页面跳转和数据回传的问题,例如Activity A跳转到Activity B,接着跳转到ActivityC,在C中执行一系列操作之后,需要传递数据或者事件给Activity A,传统的做法是进行接口回调,这样不仅增加逻辑复杂性,而且增大页面间的耦合。
为了解决上面的问题,实现组件间和模块间的解耦,我们引入事件总线的概念。
原理
事件总线,是消息或者说事件流动的管道,不同组件和模块之间的消息传递都是
这篇关于EventBus--事件总线:观察者模式的拓展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!