luojilab / DDComponentForAndroid

一套完整有效的android组件化方案,支持组件的组件完全隔离、单独调试、集成调试、组件交互、UI跳转、动态加载卸载等功能
MIT License
3.34k stars 570 forks source link

我想问下,怎样实现类似广播的功能? #91

Closed m5314 closed 6 years ago

m5314 commented 6 years ago

直接用brocast或eventbus吗?

leobert-lan commented 6 years ago

首先,选用broadcastReceiver或是EventBus看你的需求; 这两者可能困惑你的是:类被隔离。

对于BroadcastReceiver,我建议将类定义在会发出该广播的Module内,并在相应的ComponentService中定义注册、反注册广播接收器的方法,定义Callback接口由“消费者”Module实现具体的消费逻辑。按照IOC来处理,而不要将BroadCastReceiver定义在“公共区”

对于EventBus,他的Event既是事件也是数据,建议定义在公共区(ComponentService中)


By the way:

ComponentService 的本职是对外提供本模块内的、封装过的业务,所以牵涉到的入口数据类、出口数据类、回调接口等都应当在此定义。