Cómo comprobar conectividad en mis aplicaciones Android con Java - Hielo Creativo

Cómo comprobar conectividad en mis aplicaciones Android con Java

Califica este contenido
[Total: 0 Promedio: 0]

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.

Iniciar un nuevo proyecto en Android Studio - Hielo Creativo

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

Empty Views Activity en Andriod Studio - Hielo Creativo

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.

Iniciando un nuevo proyecto en Android Studio - Hielo Creativo

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.

TextView en Android Studio - Hielo Creativo

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.

Añadiendo permisos en Android Studio - Hielo Creativo

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.

ConnectivityManager en Android Studio con Java - Hielo Creativo

También el de Context.

Context en Android Studio con Java - Hielo Creativo

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.

Objeto Network en Android Studio con Java - Hielo Creativo

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.

Código Java para Android - Hielo Creativo

Probando el código escrito

Es tiempo de probar. Primero con el dispositivo sin conexión.

Emulador Android sin conexión - Hielo Creativo

Luego con conexión Wifi.

Emulador Android con conexión - Hielo Creativo

Y por último con datos móviles.

Emulador Android con conexión móvil - Hielo Creativo

Comentarios,dudas o preguntas

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

Califica este contenido
[Total: 0 Promedio: 0]

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *