En aquest tema, aprendrem com gestionar la informació de la xarxa en aplicacions desenvolupades amb Apache Cordova. Això inclou la detecció de l'estat de la connexió a Internet, la identificació del tipus de connexió i la gestió de canvis en l'estat de la xarxa.
Objectius d'aprenentatge
- Comprendre com utilitzar el plugin
cordova-plugin-network-information. - Detectar l'estat de la connexió a Internet.
- Identificar el tipus de connexió de xarxa.
- Gestionar els canvis en l'estat de la xarxa.
- Instal·lació del plugin
cordova-plugin-network-information
cordova-plugin-network-informationPer començar, necessitem instal·lar el plugin cordova-plugin-network-information, que ens permetrà accedir a la informació de la xarxa del dispositiu.
- Detectar l'estat de la connexió a Internet
El plugin cordova-plugin-network-information proporciona una manera senzilla de detectar si el dispositiu està connectat a Internet.
Exemple de codi
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var networkState = navigator.connection.type;
if (networkState === Connection.NONE) {
alert("No hi ha connexió a Internet.");
} else {
alert("Estàs connectat a Internet.");
}
}Explicació del codi
document.addEventListener("deviceready", onDeviceReady, false);: Esperem que el dispositiu estigui llest abans d'executar el codi.navigator.connection.type: Obtenim el tipus de connexió de xarxa actual.if (networkState === Connection.NONE): Comprovem si no hi ha connexió a Internet.alert("No hi ha connexió a Internet.");: Mostrem un missatge si no hi ha connexió.alert("Estàs connectat a Internet.");: Mostrem un missatge si hi ha connexió.
- Identificar el tipus de connexió de xarxa
El plugin també ens permet identificar el tipus de connexió de xarxa, com ara Wi-Fi, 4G, 3G, etc.
Exemple de codi
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Connexió desconeguda';
states[Connection.ETHERNET] = 'Connexió Ethernet';
states[Connection.WIFI] = 'Connexió WiFi';
states[Connection.CELL_2G] = 'Connexió 2G';
states[Connection.CELL_3G] = 'Connexió 3G';
states[Connection.CELL_4G] = 'Connexió 4G';
states[Connection.CELL] = 'Connexió cel·lular genèrica';
states[Connection.NONE] = 'Sense connexió';
alert('Tipus de connexió: ' + states[networkState]);
}Explicació del codi
var states = {};: Creem un objecte per mapar els tipus de connexió a descripcions humanes.states[Connection.WIFI] = 'Connexió WiFi';: Assignem una descripció per a cada tipus de connexió.alert('Tipus de connexió: ' + states[networkState]);: Mostrem el tipus de connexió actual.
- Gestionar els canvis en l'estat de la xarxa
Podem escoltar els canvis en l'estat de la xarxa i respondre adequadament quan el dispositiu es connecta o desconnecta d'Internet.
Exemple de codi
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("offline", onOffline, false);
document.addEventListener("online", onOnline, false);
}
function onOffline() {
alert("Has perdut la connexió a Internet.");
}
function onOnline() {
alert("Has recuperat la connexió a Internet.");
}Explicació del codi
document.addEventListener("offline", onOffline, false);: Escoltem l'esdevenimentofflineper detectar quan el dispositiu perd la connexió a Internet.document.addEventListener("online", onOnline, false);: Escoltem l'esdevenimentonlineper detectar quan el dispositiu recupera la connexió a Internet.function onOffline() { alert("Has perdut la connexió a Internet."); }: Mostrem un missatge quan el dispositiu perd la connexió.function onOnline() { alert("Has recuperat la connexió a Internet."); }: Mostrem un missatge quan el dispositiu recupera la connexió.
Exercicis pràctics
Exercici 1: Comprovar la connexió a Internet
Crea una aplicació Cordova que mostri un missatge indicant si el dispositiu està connectat a Internet o no quan l'aplicació s'inicia.
Solució
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var networkState = navigator.connection.type;
if (networkState === Connection.NONE) {
alert("No hi ha connexió a Internet.");
} else {
alert("Estàs connectat a Internet.");
}
}Exercici 2: Mostrar el tipus de connexió
Modifica l'aplicació anterior per mostrar el tipus de connexió de xarxa (Wi-Fi, 4G, etc.) en lloc de només indicar si hi ha connexió o no.
Solució
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Connexió desconeguda';
states[Connection.ETHERNET] = 'Connexió Ethernet';
states[Connection.WIFI] = 'Connexió WiFi';
states[Connection.CELL_2G] = 'Connexió 2G';
states[Connection.CELL_3G] = 'Connexió 3G';
states[Connection.CELL_4G] = 'Connexió 4G';
states[Connection.CELL] = 'Connexió cel·lular genèrica';
states[Connection.NONE] = 'Sense connexió';
alert('Tipus de connexió: ' + states[networkState]);
}Exercici 3: Gestionar els canvis en l'estat de la xarxa
Crea una aplicació Cordova que mostri un missatge quan el dispositiu es connecta o desconnecta d'Internet.
Solució
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("offline", onOffline, false);
document.addEventListener("online", onOnline, false);
}
function onOffline() {
alert("Has perdut la connexió a Internet.");
}
function onOnline() {
alert("Has recuperat la connexió a Internet.");
}Resum
En aquest tema, hem après com gestionar la informació de la xarxa en aplicacions Cordova utilitzant el plugin cordova-plugin-network-information. Hem vist com detectar l'estat de la connexió a Internet, identificar el tipus de connexió i gestionar els canvis en l'estat de la xarxa. Aquests coneixements són essencials per crear aplicacions mòbils robustes que puguin gestionar adequadament la connectivitat de xarxa.
Curs d'Apache Cordova
Mòdul 1: Introducció a Apache Cordova
- Què és Apache Cordova?
- Configuració del teu entorn de desenvolupament
- Creació del teu primer projecte Cordova
- Comprensió de l'estructura del projecte
Mòdul 2: Conceptes bàsics i APIs
- Plugins de Cordova
- Ús de l'API del dispositiu
- Accés a l'emmagatzematge del dispositiu
- Gestió de la informació de la xarxa
- Interacció amb la càmera
Mòdul 3: Interfície d'usuari i experiència d'usuari
- Construcció d'una interfície d'usuari responsiva
- Ús de Cordova amb frameworks (per exemple, Angular, React)
- Gestió de l'entrada de l'usuari
- Implementació de la navegació
Mòdul 4: Funcions avançades de Cordova
- Desenvolupament de plugins personalitzats
- Ús de codi natiu
- Optimització del rendiment
- Depuració i proves
Mòdul 5: Desplegament i distribució
- Construcció per a diferents plataformes
- Signatura i publicació d'aplicacions
- Directrius i millors pràctiques de l'App Store
- Integració i desplegament continus
Mòdul 6: Estudis de cas i aplicacions del món real
- Estudi de cas: Construcció d'una aplicació de llista de tasques
- Estudi de cas: Construcció d'una aplicació del temps
- Estudi de cas: Construcció d'una aplicació de xarxes socials
- Lliçons apreses i millors pràctiques
