squareup rxjava2 rxjava rxandroid android rotation retrofit rx-java rx-android

rxandroid - rxjava2 retrofit



¿Cómo manejar la rotación con Retrofit y RxJava/RxAndroid en actividad? (2)

Leí here que podemos usar un caché global para manejar la rotación.

Puede evitar esto utilizando el caché o los operadores Observable de reproducción, mientras se asegura de que el Observable de alguna manera sobreviva al ciclo de vida de la Actividad (por ejemplo, almacenándolo en un caché global, en un Fragmento, etc.)

Pero, ¿cómo lograr eso? ¿Alguien me puede señalar algún ejemplo de cómo hacerlo? ¿O tal vez 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. Buen ejemplo de uso de RxBus que puedes encontrar here .


He hecho una aplicación de demostración ( https://github.com/pmellaaho/RxApp ) para experimentar cómo abordar los tipos de situaciones en la aplicación de Android. Para decirlo brevemente, uso un modelo singleton de Activity para obtener la respuesta de la red. Esto hace posible almacenar respuestas en la memoria caché, acceder a los datos de múltiples componentes de la interfaz de usuario, suscribirse a solicitudes pendientes y también proporcionar datos simulados para pruebas automatizadas de la interfaz de usuario.


Recientemente he usado Loader combinado con ConnectableObservable para manejar mejores rotaciones durante la transmisión RxJava2. Incluso he creado una publicación mediana que explica en detalle mi enfoque.

Básicamente, debe colocar el observable ( ConnectableObservable ) en un cargador con un transformador , y luego volver a suscribirse cuando se reanude la actividad / el fragmento después de ser destruido.