2016-06-08 8 views
0

Hallo an alle meine Frage ist ich habe einige Module und ich importierte es in anderen Projekt gibt es eine Möglichkeit, für Ereignisse in diesem Modul zu hören zB klicken, Daten eingeben ... usw. Ich brauche keine generische Weise, weil ich dieses Modul auch in anderen Projekten verwenden werde.Hören Sie auf Veranstaltung in Bibliothek Modul in Android

Antwort

1

Die einzige Möglichkeit wäre, fügen Sie Ihre eigenen Listener oder ein Ereignis oder veröffentlichen & Subscribe Framework für das Modul. Was Sie sowieso tun müssten.

Für Veranstaltungen verwenden, um eine EventBus wie https://github.com/greenrobot/EventBus

Für Publish/Subscribe: Verwenden Sie 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' 

Ich würde sagen, die Publish/Subscribe (RxJava) ist zukunftssicher, wenn Sie Verwenden einer Bibliothek.

+0

Vor allem dank seiner ersten Mal höre ich über EventBus und Abonnenten sieht es in vielerlei Hinsicht nützlich. zweitens, ich habe die Idee, aber was für einen Unterschied zwischen der Verwendung von EventBus und die Verwendung von normalen Broadcast Intent und Empfänger ich meine, ich brauche etwas generisches in der lib-Modul selbst, so werde ich nicht jedes Mal registrieren, wenn ich es benutze. – Radwa

+0

Sie abonnieren Ereignis-Bus-Ereignis im Empfänger das freigegebene Modul muss nur die Ereignisse veröffentlichen. z.B. EventBus.getDefault(). Post (updateBetSlipCountEvent); ist das Modul. EventBus ist ein wenig einfacher, um Informationen und Objekte weiterzugeben. Es ist auch ein wenig einfacher zu verfolgen, da es Objekte und Methoden verwendet, die Sie in der Studio-IDE finden können – siliconeagle

Verwandte Themen