Android comprobar la conexión a Internet

En este tutorial, aprenderá cómo verificar el estado de la conectividad a Internet antes de ejecutar su aplicación de Android. El uso de Android ConnectivityManager permite al usuario detectar el estado de conexión de la red. Crearemos una aplicación que realizará una verificación del estado de la conexión a Internet de dos niveles. El primer nivel verifica el estado de la conexión a Internet cuando se inicia la aplicación y el segundo nivel verifica cuando el usuario hace clic en un botón. Si la conexión a Internet no existe, se mostrará un cuadro de diálogo con un botón de reintento y al hacer clic en el botón de reintento se volverá a verificar el estado de la conexión a Internet.

Cree un nuevo proyecto en Eclipse  File  >  New  >  Android Application Project. Complete los detalles y nombre su proyecto  CheckInternetConnection.

Nombre de la aplicación:  CheckInternetConnection

Nombre del proyecto:  CheckInternetConnection

Nombre del paquete:  com.androidbegin. comprobar conexión a internet

Luego nombre su actividad  CheckInternetConnection .java 

Abra su  CheckInternetConnection .java  y pegue el siguiente código.

Comprobar conexión a Internet .java

paquete com.androidbegin.checkinternetconnection;

importar android.net.ConnectivityManager;
importar android.net.NetworkInfo;
importar android.net.Uri;
importar android.os.Bundle;
importar android.app.Actividad;
importar android.app.AlertDialog;
importar android.content.Context;
importar android.content.DialogInterface;
importar android.content.Intent;
importar android.view.View;
importar android.view.View.OnClickListener;
importar android.widget.Button;

la clase pública CheckInternetConnection extiende la actividad {

// Declarar un botón
Botón visitabtn;

@Anular
public void onCreate (Paquete guardadoInstanceState) {
super.onCreate(estadoDeInstanciaGuardado);
setContentView(R.layout.check_internet_connection);
// Llamar a la clase isNetworkAvailable
si (! es una red disponible ()) {
// Crear un cuadro de diálogo de alerta
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// Establecer el mensaje de diálogo de alerta
builder.setMessage(«Se requiere conexión a Internet»)
.setCancelable(falso)
.setPositiveButton(«Reintentar»,
nueva DialogInterface.OnClickListener() {
public void onClick (diálogo de interfaz de diálogo,
identificación interna) {
// Reiniciar la actividad
Intención intención = getIntent();
terminar();
iniciarActividad(intención);
}
});
AlertDialog alerta = builder.create();
alerta.mostrar();
} más {
// Localice el botón en check_internet_connection.xml
visitbtn = (Botón) findViewById(R.id.visit);
// Establecer la visibilidad del botón
visitbtn.setVisibility(Ver.VISIBLE);
// Hacer clic en el botón de captura
visitbtn.setOnClickListener(nuevo OnClickListener() {

public void onClick (Ver arg0) {
// Vuelva a comprobar la conexión de red
si (! es una red disponible ()) {
AlertDialog.Builder constructor = new AlertDialog.Builder(
CheckInternetConnection.this);
builder.setMessage(«Se requiere conexión a Internet»)
.setCancelable(falso)
.setPositiveButton(«Reintentar»,
nueva DialogInterface.OnClickListener() {
vacío público al hacer clic (
Diálogo de interfaz de diálogo,
identificación interna) {
visitbtn.setVisibility(View.GONE);
// Reiniciar la actividad
Intención intención = nueva intención (
VerificarConexiónInternet.esto,
ComprobarConexiónInternet.clase);
terminar();
iniciarActividad(intención);

}

});
AlertDialog alerta = builder.create();
alerta.mostrar();

} más {
// Abrir el navegador de Android
Intención intención = nueva intención (Intent.ACTION_VIEW, Uri
.parse(«http://www.AndroidBegin.com»));
iniciarActividad(intención);
}

}
});
}
}

// Clase privada isNetworkAvailable
booleano privado isNetworkAvailable() {
// Uso de ConnectivityManager para verificar la conexión de red
ConnectivityManager connectionsManager = (ConnectivityManager) este
.getSystemService(Context.CONECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = administrador de conectividad
.getActiveNetworkInfo();
volver activeNetworkInfo != nulo;
}

}

Esta actividad busca una conexión a Internet antes de que se inicie la aplicación de Android. Hemos creado una clase privada «isNetworkAvailable()» a la que se puede llamar desde cualquier lugar dentro de su actividad para verificar el estado de la conexión a Internet mediante  ConnectivityManager . Si la conexión a Internet o la conexión de red no existe, mostraremos un cuadro de diálogo al usuario para que vuelva a verificar el estado de la conexión a Internet.

A continuación, cree un archivo XML para su diseño gráfico. Vaya a  res  >  diseño  >  Haga clic con el botón derecho  en el  diseño  >  Nuevo  > Archivo XML de Android

Nombre su nuevo archivo XML  check_internet_connection.xml  y pegue el siguiente código.

check_internet_connection.xml

<RelativeLayout xmlns_android=»http://schemas.android.com/apk/res/android»
xmlns_herramientas=»http://esquemas.android.com/herramientas»
android_layout_width=»match_parent»
android_layout_height=»match_parent» >

<Botón
android_id=»@+id/visita»
android_layout_width=»wrap_content»
android_layout_height=»wrap_content»
android_layout_centerHorizontal=»verdadero»
android_layout_centerVertical=»verdadero»
android_text=»@cadena/visita»
android_visibilidad=»desaparecido» />

</RelativeLayout>

Producción:

A continuación, cambie el texto del botón en  strings.xml . Abra su  strings.xml  y pegue el siguiente código. Vaya a  res  >  valores  >  cadenas.xml

cadenas.xml

<recursos>

<string name=»app_name»>Consultar tutorial de conexión a Internet</string>
<string name=»menu_settings»>Configuración</string>
<string name=»visit»>Visite AndroidBegin.com</string>

</recursos>

En su  AndroidManifest.xml , debemos declarar permisos para permitir que la aplicación acceda a Internet y verifique el estado de la conexión de red. Abra su  AndroidManifest.xml  y pegue el siguiente código.

AndroidManifest.xml

<manifiesto xmlns_android=»http://schemas.android.com/apk/res/android»
paquete=»com.androidbegin.checkinternetconnection»
android_versionCode=»1″
android_versionName=»1.0″ >

<usos-sdk
android_minSdkVersion=»8″
android_targetSdkVersion=»15″ />

<usos-permiso android_name=»android.permiso.INTERNET» />
<usos-permiso android_name=»android.permission.ACCESS_NETWORK_STATE» />

<aplicación
android_icono=»@dibujable/ic_launcher»
android_etiqueta=»@cadena/nombre_aplicación»
android_tema=»@estilo/AppTheme» >
<actividad android_name=».CheckInternetConnection» >
<intent-filter>
<acción android_name=»android.intent.action.MAIN» />

<categoría android_name=»android.intent.category.LAUNCHER» />
</intent-filter>
</actividad>
</aplicación>

</manifiesto>

Producción :

Código fuente 

[purchase_link id=”7846″ text=”Comprar para descargar el código fuente” style=”button” color=”green”]