2016-01-03 15 views
6

Prima della 1.0.0 c'era la classe AndroidObservable con il metodo fromBroadcast in RxAndroid che verrebbe utilizzata per iscriversi per la trasmissione in modo reattivo. E 'stato menzionato nel Grokking RxJava:Dove può essere trovato AndroidObservable.fromBroadcast?

mi piace anche AndroidObservable.fromBroadcast(), che consente di creare un Observable che funziona come un BroadcastReceiver. Ecco un modo per ricevere una notifica ogni volta che cambia la connettività di rete:

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); 
AndroidObservable.fromBroadcast(context, filter) 
       .subscribe(intent -> handleConnectivityChange(intent)); 

Dopo 1.0.0, RxAndroid caduto un sacco di funzionalità e divisa in RxAndroid stessa che ora è solo roba threading, RxLifecycle e RxBindings.

Nessuno di essi sembra contenere AndroidObservable con fromBroadcast o fromSharedPreferenceChange.

È implementato in alcune librerie reali e supportate?

risposta

7

Questa funzionalità was removed in 1.0 release nell'ambito dello sforzo di modularizzazione. È possibile trovare una sostituzione in RxBroadcast. Per usarlo aggiungere una dipendenza per build.gradle:

compile 'com.cantrowitz:rxbroadcast:1.0.0' 

e usarlo come segue:

Observable<Intent> = RxBroadcast.fromBroadcast(context, intentFilter); 
+0

dove si trova la documentazione adeguata per RxAndroid? – Bolein95

+0

RxAndroid è in questo momento una piccola libreria, è possibile aggiungere il codice sorgente in meno di un'ora. Tutti gli altri moduli come quelli di cui sopra [RxBroadcast] (https://github.com/cantrowitz/RxBroadcast) e [RxLifecycle] (https://github.com/trello/RxLifecycle) o [RxBinding] (https://github.com)/JakeWharton/RxBinding) vivono all'interno dei propri repository con Readmes abbastanza buoni. – miensol

+0

RxBroadcast ha solo 29 stelle, sembra che non siano così tante persone che lo usano. Dovrei usarlo? – User9527

0

In breve, è stato rimosso e non so ancora alcun rimpiazzo.

È possibile vedere here che è stato rinominato in AppObservable e quindi here che è stato rimosso con la versione 1.0 in cui hanno fatto un po 'di pulizia.

Sembra che ci siano stati alcuni problemi gravi.

+0

Si [ha detto] (https://github.com/ReactiveX/RxAndroid/releases/tag/ v1.0.0) per essere stato rimosso per una migliore modularità. E come detto in [l'altra risposta] (http://stackoverflow.com/a/34575878/2196460) è ora disponibile in RxBroadcast. Grazie comunque per il tuo impegno. – hotkey

Problemi correlati