2016-06-08 47 views
0

大家好我的问题是我有一些模块,我在其他项目中导入它有一种方法来监听该模块中的事件,例如点击,输入数据等等我需要任何通用的方式,因为我会在其他项目中使用该模块。在android库中听库事件模块

回答

1

唯一的方法是添加您自己的侦听器或事件或发布订阅框架到模块。无论如何,你需要做哪些。

事件使用EventBus像https://github.com/greenrobot/EventBus

发布/订阅:使用RxJava/RxAndroid/RxBinding

// RX Java/Android 
compile 'io.reactivex:rxjava:1.1.0' 
// https://github.com/ReactiveX/RxAndroid 
compile 'io.reactivex:rxandroid:1.1.0' 
// https://github.com/JakeWharton/RxBinding/ 
compile 'com.jakewharton.rxbinding:rxbinding:0.4.0' 

我想说的发布/订阅(RxJava)是更长远的保障,如果你是使用库。

+0

首先感谢第一次听到有关EventBus和用户在很多方面看起来很有用。其次,我明白了,但使用EventBus和使用正常广播意图和接收器之间有什么区别,我的意思是我需要一些通用的lib模块本身,所以我不会注册每次使用它。 – Radwa

+0

您订阅共享模块只需发布事件的接收器中的事件总线事件。例如。EventBus.getDefault()后(updateBetSlipCountEvent);是模块。 EventBus只是更容易传递信息和对象。它也更容易跟踪,因为它使用在Studio IDE中可以找到的对象和方法 – siliconeagle