2016-01-03 26 views
6

Przed 1.0.0 była AndroidObservable z metodą fromBroadcast w RxAndroid, która byłaby używana do subskrypcji dla nadawania w reaktywny sposób. Wspomniano w Grokking RxJava:Gdzie można teraz znaleźć AndroidObservable.fromBroadcast?

Lubię też AndroidObservable.fromBroadcast(), który pozwala na stworzenie Observable który działa jak BroadcastReceiver. Oto sposób, aby być powiadomiony kiedy łączność sieciowa zmienia:

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

Po 1.0.0, RxAndroid spadła dużo funkcjonalności i podzielony na RxAndroid samego, który teraz gwintowania tylko rzeczy, RxLifecycle i RxBindings.

Żadne z nich nie zawiera AndroidObservable z fromBroadcast lub fromSharedPreferenceChange.

Czy jest zaimplementowana w niektórych rzeczywistych i obsługiwanych bibliotekach?

Odpowiedz

7

Ta funkcja was removed in 1.0 release w ramach wysiłku modularyzacji. Możesz znaleźć zamiennik w RxBroadcast. Aby użyć go dodać zależność do build.gradle:

compile 'com.cantrowitz:rxbroadcast:1.0.0' 

i używać go w sposób następujący:

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

gdzie można znaleźć odpowiednią dokumentację dla RxAndroid? – Bolein95

+0

RxAndroid jest teraz małą biblioteką, możesz zgadnąć jej kod źródłowy w mniej niż godzinę. Wszystkie inne moduły, takie jak wspomniana [RxBroadcast] (https://github.com/cantrowitz/RxBroadcast) i [RxLifecycle] (https://github.com/trello/RxLifecycle) lub [RxBinding] (https://github.com/JakeWharton/RxBinding) żyją wewnątrz własnych repozytoriów z dość dobrym Readmes. – miensol

+0

RxBroadcast ma tylko 29 gwiazdek, wydaje się, że nie używa go tak wielu ludzi. Czy powinienem go używać? – User9527

0

Krótko mówiąc, został usunięty i nie znam jeszcze żadnego zamiennika.

Możesz zobaczyć here, że zmieniono nazwę na AppObservable, a następnie here, która została usunięta wraz z wersją 1.0, w której wykonano trochę czyszczenia.

Wydaje się, że wystąpiły pewne poważne problemy.

+0

Jest [powiedział] (https://github.com/ReactiveX/RxAndroid/releases/tag/ v1.0.0), które zostały usunięte dla lepszej modułowości. I jak powiedziano w [drugiej odpowiedzi] (http://stackoverflow.com/a/34575878/2196460) jest on teraz dostępny w RxBroadcast. Dziękuję za wysiłek. – hotkey

Powiązane problemy