Es probable que en una aplicación para teléfono móvil nos interese saber si estamos conectando a la red a través de la conexión 3G o a través de WIFI, para ejecutar diferentes acciones, permitir descargas de contenido etc.. O simplemente para saber si disponemos de conexión a internet o no.
Con la clase NetworkInfo de AIR 2 nos permite acceder a todos los accesos a la red que tenemos disponibles en el dispositivo. Cada uno de ellos estará incluido en un objeto NetworkInterface con la propiedad active en valor true o false según sea el acceso en uso.
La siguiente clase que muestro es un ejemplo de uso:
Supongamos que tenemos un MovieClip con tres fotogramas. En el primero tendremos un icono para el estado "sin conexión", en el segundo un icono para 3G, y el tercero un icono para Wifi.
Ahora nos interesará que el MovieClip nos muestre el fotograma que indica que tipo de conexión estamos utilizando en nuestro dispositivo móvil.
Esta sería la clase para asignar al MovieClip:
Código :
package com.cristalab.controls.mobile { import flash.display.MovieClip; import flash.events.Event; import flash.net.NetworkInfo; import flash.net.NetworkInterface; //------------------------------------------------------ public class NetworkInterfaceUI extends MovieClip { private var ni:NetworkInfo = NetworkInfo.networkInfo; public var active:String = "none"; //------------------------------------------------------ public function NetworkInterfaceUI() { ni.addEventListener(Event.NETWORK_CHANGE,checkNetworkInterface); checkNetworkInterface(); } private function checkNetworkInterface(event:Event = null):void { var interfaceVector:Vector.<NetworkInterface > = ni.findInterfaces(); for each (var item:NetworkInterface in interfaceVector) { active = (item.active == true) ? item.name : active; } switch (active) { case "mobile" : this.gotoAndStop(2); break; case "WIFI" : this.gotoAndStop(3); break; default : this.gotoAndStop(1); break; } } } }
Como podemos ver estamos guardando todas las NetworkInterfaces disponibles en un vector y realizamos una comprobación de cual es la que está activa.
Tambien detectamos los cambios en la red para actualizar nuestro icono.
Listo!
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por eldervaz el 03 de Junio de 2011
que excelente tip! de hecho no les puedo contar mucho, pero les sugiero que empiecen con fuerza con AIR y dispositivos móviles