Cómo manejar la rotación con Retrofit y RxJava / RxAndroid en Actividad?
He leído aquí que podemos utilizar algún caché global con el fin de manejar la rotación.
Puede evitar esto utilizando los operadores de caché o repetición Observable, asegurándose de que el Observable sobreviva de algún modo al ciclo de vida de la actividad (por ejemplo, almacenándolo en un caché global, en un fragmento, etc.)
Pero, ¿cómo lograrlo? ¿Alguien puede señalarme algún ejemplo de cómo hacerlo? ¿O tal vez usted conoce algún enfoque mejor para manejar el cambio de configuración?
EDITAR:
Por ahora he encontrado muchas maneras, pero terminé usando la realización de RxBus. Un buen ejemplo de uso de RxBus puede encontrar aquí .
- ¿Cómo esperar múltiples llamadas asincrales anidadas usando RxJava-Android?
- CalledFromWrongThreadException incluso cuando se utiliza AndroidSchedulers.mainThread ()
- Observable vs Flujo rxJava2
- RxBindings para Spinner?
- RxJava Android: cargar datos de caché en los subprocesos adecuados
- Robolectric + rxJava + retrofit Segunda llamada lanza java.io.InterruptedIOException
- Utilizando RxJava para buscar objetos, transforma una lista contenedora y usa la lista
- RxJava como un bus de eventos, onNext se llama varias veces cuando sólo un mensaje de evento
He hecho una aplicación de demostración ( https://github.com/pmellaaho/RxApp ) con el fin de experimentar cómo abordar los tipos de situaciones en la aplicación de Android. Para ponerlo corto utilizo un modelo singleton de la actividad para conseguir la respuesta de la red. Esto hace posible almacenar en caché las respuestas, acceder a los datos de múltiples componentes de la interfaz de usuario, suscribirse a la solicitud pendiente y también proporcionar datos simulados para las pruebas automatizadas de la interfaz de usuario.
- Cómo cambiar el tamaño de la barra de acción
- Herramienta de prueba de la interfaz de usuario android de ADT21