7. Conectividad y redes
En este módulo exploraremos en profundidad las distintas formas de conectar un dispositivo Android a redes y otros equipos, así como las herramientas de diagnóstico y seguridad asociadas.
7.1 Redes inalámbricas
Wi-Fi
Administración de redes Wi-Fi, perfiles de conexión y seguridad.
- Escaneo de redes disponibles (API WifiManager).
- Conexión programática (configuración de SSID, contraseñas, EAP).
- Gestión de permisos (ACCESS_WIFI_STATE, CHANGE_WIFI_STATE).
- Seguridad: WPA2, WPA3, cifrado y certificados.
Bluetooth
Intercambio de datos y control de dispositivos cercanos.
- Descubrimiento y emparejamiento (BluetoothAdapter, BluetoothDevice).
- Comunicación clásica vs BLE (Bluetooth Low Energy).
- Implementación de GATT client y server.
- Consentimiento de usuario y permisos (BLUETOOTH, BLUETOOTH_ADMIN).
NFC
Lectura y escritura de etiquetas, intercambio Android Beam/P2P.
- Uso de la API
NfcAdapter
yTag
. - Formatos NDEF y mensajes multilínea.
- Casos de uso: pagos, control de acceso, emparejamiento Bluetooth.
- Seguridad en NFC: bloqueo de lectura y autenticación.
7.2 Redes móviles
Datos móviles, roaming y configuraciones avanzadas.
- Estados de la red celular (TelephonyManager).
- Selección manual vs automática de operador.
- Modos de red: 2G, 3G, 4G (LTE), 5G.
- Monitorización de la señal y calidad de enlace.
- Control de consumo de datos en segundo plano.
7.3 VPN y proxies
Implementación y uso de conexiones seguras.
- VPNService: creación de túneles IP a nivel de aplicación.
- Configuración de proxy HTTP/SOCKS.
- Autenticación y certificados digitales (PKI).
- Split tunneling y políticas de enrutamiento.
7.4 Compartir conexión y tethering
Convertir el dispositivo en un punto de acceso o módem.
- Hotspot Wi-Fi: configuración de SSID y seguridad WPA2.
- Tethering USB y Bluetooth DUN.
- Control de usuarios conectados y límite de ancho de banda.
- APIs restringidas y métodos oficiales.
7.5 Herramientas de diagnóstico y monitorización
Uso de utilidades y logs para analizar el estado de la red.
- Logcat: monitorización de eventos de conectividad.
- Comandos ADB:
- adb shell dumpsys connectivity
- adb shell ping, traceroute.
- Aplicaciones de terceros: analizador de Wi-Fi, scanner BLE.
- Análisis de tráfico: herramientas de captura (tcpdump, Wireshark).
7.6 Tabla de protocolos y puertos comunes
Protocolo | Puerto | Uso típico |
HTTP | 80 | Tráfico web no cifrado |
HTTPS | 443 | Tráfico web cifrado |
FTP | 21 | Transferencia de archivos |
SSH | 22 | Acceso remoto seguro |
DNS | 53 | Resolución de nombres |
Profundizando sobre: 7. Conectividad y redes
Libros recomendados:
-
Android Programming: The Big Nerd Ranch Guide
Autor: Bill Phillips, Chris Stewart, Kristin Marsicano
Editorial: Big Nerd Ranch Guides, 4ª edición (2019)
Cubre HTTP, WebSockets, Bluetooth, NFC y buenas prácticas de red. -
Professional Android, 4th Edition
Autor: Reto Meier, Ian Lake
Editorial: Wrox, 2018
Incluye capítulos específicos sobre API de red, seguridad TLS y sockets. -
Android Cookbook: Problems and Solutions for Android Developers
Autor: Ian F. Darwin
Editorial: O’Reilly, 2017
Recetas para conectividad HTTP, REST, JSON, Retrofit y manejo de hilos. -
Android Security Internals
Autor: Nikolay Elenkov
Editorial: No Starch Press, 2014
Aunque enfocado en seguridad, explica SSL/TLS, certificados y capas de red.
Recursos en línea:
-
Android Developers – Network Operations Training
-
Documentación de OkHttp
-
Guía de Retrofit
-
Codelab: Android Network Security Configuration
-
Tutoriales de Vogella sobre Networking en Android
-
Ejemplo de app de Google I/O (módulos de red)
-
Curso Udacity: Developing Android Apps with Kotlin (Network module)
Deja una respuesta