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-information
Per 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'esdevenimentoffline
per detectar quan el dispositiu perd la connexió a Internet.document.addEventListener("online", onOnline, false);
: Escoltem l'esdevenimentonline
per 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