Sobes.tech
Junior — Middle

V čem se liší datové typy Single a Observable v knihovně RxJava?

sobes.tech AI

Odpověď od AI

V RxJava se typy Single a Observable liší podle počtu a charakteru emitovaných prvků:

  • Observable může emitovat libovolné množství prvků (0, 1 nebo mnoho) a může skončit úspěšně nebo chybou. Je vhodný pro datové proudy, kde se očekává několik hodnot v čase.

  • Single garantuje emitování přesně jednoho prvku nebo chyby. Je užitečný pro operace, které vracejí jediný výsledek, například dotaz na síť nebo databázi.

Příklad použití Single:

Single<String> single = Single.just("Ahoj");
single.subscribe(
    item -> System.out.println("Přijato: " + item),
    error -> System.err.println("Chyba: " + error)
);

Observable může vypadat takto:

Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
    item -> System.out.println("Přijato: " + item),
    error -> System.err.println("Chyba: " + error),
    () -> System.out.println("Dokončeno")
);