Qual è il modo corretto, se esiste, di creare Observable
s in grado di accettare i parametri?Crea un Osservabile che accetta gli argomenti
Per esempio, potrei parametrizzare le richieste HTTP
Qual è il modo corretto, se esiste, di creare Observable
s in grado di accettare i parametri?Crea un Osservabile che accetta gli argomenti
Per esempio, potrei parametrizzare le richieste HTTP
È possibile utilizzare Observable.create
per questo:
public static Observable<String> createMyObservable(final String all, final Integer my, final Boolean parameters) {
return new Observable.create(new Observable.OnSubscribe<String>(){
@Override
public void call(Subscriber<? super String> subscriber) {
// here you have access to all the parameters you passed in and can use them to control the emission of items:
subscriber.onNext(all);
if (parameters) {
subscriber.onError(...);
} else {
subscriber.onNext(my.toString());
subscriber.onCompleted();
}
}
});
}
Nota che tutti i parametri devono essere dichiarati come finale o il codice non compilazione.
Se vi aspettate che i vostri parametri di input di variare nel corso del tempo possono essere un'osservabile se stessi e si potrebbe forse usare combineLatest
o zip
per combinare i loro valori con le altre osservabili, o forse map
o flatMap
per creare nuovi osservabili sulla base dei valori del tuo input osservabili.