
RxJava for Android Developers
Timo Tuominen
- Editorial
- Manning
- Año
- 2019
- Páginas
- ~512
- Nivel
- Básico
De qué trata
Manual práctico escrito por Timo Tuominen y publicado por Manning que aborda la programación reactiva funcional aplicada al desarrollo móvil sobre Android, utilizando RxJava 2 y RxAndroid. El libro está orientado a programadores de Android con nivel básico o intermedio en Java que desean superar los problemas clásicos de concurrencia, interfaces bloqueadas y la dispersión de callbacks asíncronos propios del SDK tradicional.
La obra enseña en detalle los tipos fundamentales de flujos reactivos de RxJava 2 (Observable, Single, Maybe, Completable y Flowable) y la manipulación de datos mediante operadores clave como map, flatMap, switchMap, debounce, combineLatest y retryWhen. Explica la gestión del ciclo de vida y la memoria mediante Disposable y CompositeDisposable para evitar fugas de memoria, el control de la concurrencia entre hilos con Schedulers (como Schedulers.io() y AndroidSchedulers.mainThread()), y el desacoplamiento arquitectónico mediante ViewModels reactivos con el patrón MVVM. Asimismo, aborda la integración con clientes de red HTTP mediante Retrofit y OkHttp, la comunicación bidireccional mediante WebSockets y las pruebas unitarias reactivas con TestObserver y TestScheduler.
El libro propone un aprendizaje netamente práctico en el que se construyen proyectos funcionales: un lector y agregador de feeds RSS/Atom, un cliente de búsqueda de fotografías conectado a la API de Flickr con cancelación reactiva de peticiones anteriores, un cliente de mensajería instantánea en tiempo real basado en WebSockets y un cliente de mapas con renderizado de coordenadas. Su gran aportación es transformar la manera de estructurar una aplicación Android en torno a flujos continuos de eventos en lugar de estados mutables dispersos. Deja fuera las alternativas modernas que surgieron más adelante, como las Corrutinas de Kotlin y Kotlin Flow, y no aborda Jetpack Compose; requiere conocimientos sólidos previos del ciclo de vida de componentes Android (Activities, Fragments) y del lenguaje Java.
- RxJava 2
- RxAndroid
- Programación Reactiva
- Observables y Flowables
- Schedulers y Concurrencia
- Patrón MVVM
- Retrofit y OkHttp
- WebSockets
- Testing con TestScheduler
- Android SDK
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Agregador de noticias RSS/Atom
Lector de noticias que descarga y fusiona múltiples fuentes asíncronas en un único flujo de datos utilizando combineLatest y mecanismos de reintento ante errores de red.
Cliente de búsqueda fotográfica en Flickr
Buscador de imágenes conectado a la API de Flickr que procesa la entrada del usuario con debounce y switchMap para cancelar peticiones de búsqueda obsoletas.
Cliente de chat en tiempo real
Aplicación de mensajería instantánea que gestiona canales de comunicación bidireccionales con WebSockets mediante flujos reactivos y control de reconexión automática.
Cliente de mapas reactivo
Aplicación que procesa flujos de coordenadas geográficas en segundo plano y actualiza marcadores y transiciones visuales en el hilo principal de la interfaz.

