Ответ
Single в RxJava — это одноэлементный Observable, который испускает либо успешный результат (onSuccess), либо ошибку (onError), но не поток данных. Подходит для операций с одним результатом (например, сетевые запросы).
Пример:
Single.fromCallable { fetchUserData() }
.subscribe(
{ user -> showUser(user) },
{ error -> showError(error) }
)
Отличия от Observable:
- Не поддерживает
onNext+onComplete, толькоonSuccess. - Гарантирует только одно событие.
- Нельзя преобразовать в
Flowable(нет backpressure).
Используется для задач с четким единичным результатом (загрузка данных, сохранение в БД).