Saltar la navegación

4.2. Gestión de la comunicación

En cualquier tipo de comunicación inalámbrica que elijamos, debemos tener presentes ciertos problemas comunes a todos ellos:

  • Estabilidad: las comunicaciones inalámbricas no utilizan ningún medio para transmitirse, pueden hacerlo en el aire, el agua o el vacío. Por ello, cualquier otra señal ajena a nuestro canal puede interponerse fácilmente entre el emisor y el receptor, degradando la comunicación. Normalmente, todos los sistemas de comunicaciones tienen un sistema corrector de errores en su interior que intentará corregir cualquier dato que haya sido corrompido por el canal, pero, llegado a un límite, la conexión puede perderse y, como programadores, debemos tener estos factores en cuenta. Por ejemplo, podríamos tener un listener que reaccionase ante una desconexión, intentando la reconexión.
  • Seguridad: como hemos dicho, el medio en el que se construye el canal está abierto a cualquiera, no es un cable que haya que conectar. Existe el problema de que un agente malicioso se adhiera al canal, escuchando o enviando datos, haciéndose pasar por otro y comprometiendo la seguridad de la información. Como programadores, debemos adherirnos a los protocolos y mecanismos que permiten la comunicación segura entre dispositivos: TLS, certificados, etcétera.
  • Eficiencia: debemos tener en cuenta la velocidad de cada sistema de transmisión, el gasto de batería que supone cada uno, el espacio que  necesitarán los datos en memoria y los procedimientos manuales que serán obligatorios para el usuario, entre otras cuestiones. Cada mecanismo se adaptará a cada necesidad mejor que otro, y es nuestra obligación encontrar el mejor en cada caso.

Ejemplo práctico

Ejemplo de aplicación con WebView que muestra una página Web y un comprobador de conexión a Internet mediante Wi-Fi o Móvil.

Puedes descarcar el MainActivity.kt y el activity_main.xml.

Tendrás que dar ciertos permisos. Averigua cuáles.