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.

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(); } 
  • Explicación de Android MVP
  • ¿Hay alguna práctica recomendada para empaquetar capas MVP?
  • MVP para Android: ¿Qué es un Interactor?
  • Google Analytics con el patrón de diseño MVP
  • Comunicarse entre presentadores en la aplicación MVP android
  • ¿Hay RxJava equivalente a Handler.postDelayed (Runnable r, delayMillis largo)
  • Implementación de MVP en la aplicación de Android
  • Estructura en capas de Android clean architecture
  • Prueba de la unidad MVP de Android: ¿debo burlar el bus de eventos?
  • MVP de Android con Dagger 2 - Actividad con múltiples fragmentos
  • ¿Dónde debería llamarse el servicio android y llamar a GoogleAPIClient mientras se utiliza el patrón MVP en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.