Android MVP, donde comprobar la conexión a Internet
Estoy implementando el patrón de MVP en una aplicación Andorid y tengo una duda acerca de dónde es el mejor lugar para comprobar la conexión a Internet. Por lo general comprobar si hay conexión a Internet antes de hacer cualquier llamada de red.
Entonces, ¿dónde debo comprobarlo en la Actividad o en el Presentador ? Creo que el presentador sería un buen lugar, por lo que decide qué hacer, sin embargo no estoy 100% seguro Si debo colocarlo en la actividad y evitar hacer una llamada al presentador.
- Estructura del paquete de patrones de Android MVP
- Datos de paso de Android entre Fragmentos
- Utilizar la programación con RxAndroid
- MVP de Android: qué modelo presentar para ver
- ¿Cómo usar las Preferencias Compartidas en MVP sin Dagger y no hacer que Presenter dependa del contexto?
- MVP Android - ¿Cuántos presentadores?
- Cómo controlar ListView con el patrón MVP para Android
- En la estructura MVP, la clase responsable de mantener los elementos de la lista y la forma de notificar los cambios de datos en este
- ¿El presentador que tiene conocimiento de la Actividad / Contexto es una mala idea en el patrón MVP?
- El papel de los adaptadores en Mvp patrón?
- MVP para la actividad con múltiples fragmentos
- ¿Cómo puedo seguir la arquitectura MVP con SDK de terceros?
- ¿Es una buena idea utilizar Service as Presenter en el contexto MVP
No creo que Presenter es un buen lugar. Presentador debe pedir los nuevos datos del modelo, como getData (). Presentador no debe saber si su de la base de datos local o desde el servidor. Así que comprobar la conexión a Internet en el presentador no será una buena idea.
Si utiliza el patrón de repositorio, el presentador le pedirá al modelo / repositorio que obtenga los datos. El modelo enviará primero los datos locales al presentador. Paralelo, enviará la petición del servidor (si hay conexión de la red) para descargar nuevos datos, y envía los nuevos datos al presentador.
Así que creo que la verificación de la red debe estar en el repositorio / modelo. Podría tener la clase Util que implementa el código de verificación de la red real. Y llamar a ese método desde el repositorio, como AppUtil.isNetworkConnectionAvailable();
Para obtener más información, consulte: https://github.com/googlesamples/android-architecture/tree/todo-mvp/
Solución:-
Usted debe comprobar el availablity de la conexión del Internet en la clase de BaseActivity y después extender esa actividad es la mejor práctica pienso.
Lo hago en mi proyecto como este: –
public boolean isInternetAvailable() { return internet.isAvailable(); }
- ¿Cómo rastreo la "pantalla en" el tiempo en Android?
- Sugerencia de marco de interfaz de usuario para Ember.js HTM5 => Aplicación Phone Gap (o pila alternativa)