Ahora que ya sabemos como hacer una vista web para mostrar ese tipo de contenido dentro de nuestras aplicaciones Android, necesitamos revisar cuando tenemos conexión y decidir que hacer en caso de que no haya, ese es el tópico que vamos a revisar el día de hoy ¡Manos a la obra!
Iniciando el proyecto en Android Studio
Iniciamos Android Studio y creamos un proyecto nuevo, dando clic en New Project.

Como tipo de proyecto, seleccionamos Empty Views Activity y presionamos el botón Next.

En la opción Name establecemos el nombre del proyecto, luego cambiamos el Save location si es necesario, ajustamos el Language a Java y por último el Minimum SDK lo ponemos en una versión de Android que tenga más del 95%. Una vez ajustado todo, presionamos el botón Finish.

Cuando termine de cargar todo el proyecto, utilizaremos el único TextView que aparece en el proyecto. Simplemente ajustaremos su Id al identificador de nuestra preferencia.

Añadiendo los permisos necesarios
Para poder realizar está acción, nuestra aplicación necesita dos permisos INTERNET y ACCESS NETWORK STATE. Entonces, abrimos el archivo AndroidManifest.xml y añadimos ambos permisos.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Justo donde se muestra en la imagen.

Creando un método que revise si hay conexión en Java
En nuestro único archivo Java, vamos a crear un método que haga la revisión, este método regresará true si hay conexión y false si no lo hay. Este método tendrá como única parámetro el Context de la aplicación.
protected boolean revisarRed(Context contexto){
}
Trabajando dentro de ese método, lo primero es crear una variable tipo boolean para el valor que necesitamos regresar como resultado. Para reducir un poco el código, haremos que regrese true de manera predeterminada.
boolean conectado = true;
Utilizando el objeto ConnectivityManager, creamos una variable para detectar el tipo de conexión por medio del método getSystemService que pertenece a Context. A dicho método, le pasamos la constante CONNECTIVITY SERVICE.
ConnectivityManager manager = (ConnectivityManager) Context.getSystemService(Context.CONNECTIVITY_SERVICE);
No olvidemos añadir el import para ConnectivityManager.

También el de Context.

Si el objeto tipo ConnectivityManager no se pudo crear (null) entonces obtenemos falso.
if (manager == null) conectado = false
De lo contrario…
else{
}
Creamos un objeto de tipo Network para recuperar la red activa.
Network red = manager.getActiveNetwork();
Añadimos el import necesario.

Si el objeto no se pudo crear (null) entonces otra vez obtenemos falso.
if (red == null) conectado = false;
Saliendo del else, simplemente regresamos lo que tenga la variable conectado.
return conectado;
Y todo el método revisarRed() queda así:
protected boolean revisarRed(Context contexto){
boolean conectado = true;
ConnectivityManager manager = (ConnectivityManager) contexto.getSystemService(Context.CONNECTIVITY_SERVICE);
if (manager == null) conectado = false;
else{
Network red = manager.getActiveNetwork();
if (red == null) conectado = false;
}
return conectado;
}
Implementando el método para revisar la conexión
El resto del código lo haremos dentro del método onCreate del activity. Lo primero será crear una instancia a nuestro TextView.
TextView texto = (TextView) findViewById(R.id.txtMensaje);
Creamos una variable String para mostrar texto en el TextView.
String mensaje = "";
Ahora comprobamos nuestro método revisarRed() al cual le pasamos como contexto this. Si regresa true, entonces hay conexión
if(revisarRed(this)) mensaje = "Si hay conexión";
De lo contrario,no hay conexión
else mensaje = "No hay conexión";
Finalmente, asignamos la variable a nuestro TextView.
texto.setText(mensaje);
Así queda este código.
TextView texto = (TextView) findViewById(R.id.txtMensaje);
String mensaje = "";
if(revisarRed(this)) mensaje = "Si hay conexión";
else mensaje = "No hay conexión";
texto.setText(mensaje);
Y así se ve todo el código escrito.

Probando el código escrito
Es tiempo de probar. Primero con el dispositivo sin conexión.

Luego con conexión Wifi.

Y por último con datos móviles.

Comentarios,dudas o preguntas
¡Y eso es todo! No olvides dejar tus comentarios, dudas y / o preguntas. Con gusto las respondemos.

Docente, blogger, developer. Editor & Copy
Sobre: #Blogging, #Excel, #VBA, #Android, #PHP, #JavaScript, #Java, #WordPress, #IoT, #Python
