Что такое Observable

«Что такое Observable» — вопрос из категории Реактивное программирование, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Observable — это часть библиотеки RxJava, представляющая поток данных, который может испускать 0, 1 или множество элементов. Он работает по принципу push-модели: подписчик получает данные, ошибки или сигнал завершения.

Пример:

val observable = Observable.just("Hello", "World")  
observable.subscribe(  
    { item -> println(item) }, // onNext  
    { error -> println(error) }, // onError  
    { println("Completed") } // onComplete  
)  

Особенности:

  • Ленивый: Выполняется только при подписке (subscribe).
  • Гибкий: Поддерживает операторы (map, filter, flatMap и др.).
  • Многопоточность: Управляется через Schedulers.

Используется для асинхронных операций, обработки событий UI, сетевых запросов.