sto ottenendo lo stesso risultato quando si utilizza Observable.just vs Observable.from nel seguente caso:RxJava - Proprio vs Da
public void myfunc() {
//swap out just for from here and i get the same results,why ?
Observable.just(1,2,3).subscribe(new Subscriber<Integer>() {
@Override
public void onCompleted() {
Log.d("","all done. oncompleted called");
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Integer integer) {
Log.d("","here is my integer:"+integer.intValue());
}
});
}
ho pensato appena è stato 'solo' Immagino di emettere un singolo elemento e 'from' doveva emettere elementi in una sorta di lista. Qual è la differenza ? Ho anche notato che 'solo' e 'da' richiede solo un numero limitato di argomenti. così Osservabile. (1,2,3,4,5,6,7,8, -1, -2) è ok ma Osservabile. (1,2,3,4,5,6,7,8, -1, -2, -3) non riesce. Lo stesso vale per, devo avvolgerlo in una lista o in una serie di generi. Sono solo curioso di sapere perché non possono definire argomenti illimitati.
AGGIORNAMENTO: Ho sperimentato e ho visto che "solo" non ha una struttura di array, ma "solo" accetta argomenti. 'from' prende una collezione. quindi le seguenti opere per 'da', ma non per 'solo':
public Observable myfunc() {
Integer[] myints = {1,2,3,4,5,6,7,8,-1,-2,9,10,11,12,13,14,15};
return Observable.just(myints).flatMap(new Func1<Integer, Observable<Boolean>>() {
@Override
public Observable<Boolean> call(final Integer integer) {
return Observable.create(new Observable.OnSubscribe<Boolean>() {
@Override
public void call(Subscriber<? super Boolean> subscriber) {
if(integer.intValue()>2){
subscriber.onNext(integer.intValue()>2);
}
}
});
}
});
}
Io parto dal presupposto che questa sia la differenza chiaro, allora, giusto?
Questo ha aiutato a terminare circa 45 minuti di confusione. Grazie! – Josh