Está en la página 1de 8

www.blocketpc.

com Documento por:


Navegando en mi bolsillo Marcos González
marcos@infocket.com

Creando un sistema de detección


de conexión a Internet
En este tutorial trataremos de mostrar como implementar un sencillo
sistema de detección de conexión para Pocket PC con Flash y MDM Zinc.
Primero crearemos la pelicula que albergará todos los elementos necesarios
par mostrar información del proceso al usuario y luego nos adentraremos en
cómo usar algunas de las características de MDM para comprobar si
disponemos de conexión a internet.

En una proxima entrega veremos la aplicación de este sistema para


crear un actualizador de ficheros XML de una aplicación ficticia cuando se
detecta que se dispone de conexión.

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com
www.blocketpc.com Documento por:
Navegando en mi bolsillo Marcos González
marcos@infocket.com
Comenzamos
Creamos un fla con las siguientes características:

Dimensiones: 240 x 320 (tamaño más común para las pocket pc)
Configurado para exportar para flash player 6.
Contenido:

Para este ejemplo únicamente tendremos un fondo con un texto en él.

En nuestro caso hemos llamado al archivo fla tesxtconexion, los fps los
dejamos en 12 ya que este ejemplo no dispone de ningun tipo de animación y
este aspecto no es crítico.

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com
www.blocketpc.com Documento por:
Navegando en mi bolsillo Marcos González
marcos@infocket.com
Funciones y métodos que emplearemos
Realmente este ejemplo esta basado 100% en las funcionalidades extra
que nos aporta MDM para mejorar la interaccion del player con el dispositivo,
con lo que detallaremos ahora que funciones y metodos emplearemos para
llevar a cabo nuestro objetivo:

mdmdinit()

La colocamos en el primer frame de nuestra pelicula, sirve para


inicializar todo el sistema de funciones y métodos de MDM y que a partir de ese
momento podamos emplear nuestro código {mdm}script en nuestra pelicula.
Esta llamada es obligatoria en TODOS los swf empleados en el proyecto y no
solamente en el SWF base.

mdm.checkconnection(funcion)

Esta funcion nos permitirá conocer si el dispositivo dispone de conexión


a internet, y cuando conozca el estado, nos lance la función pasada como
parámetro. Sobre este sistema de pasar una función como parámetro haremos
unas aclaraciones en el siguiente punto del tutorial.

mmd.exit()

Esta función nos permitirá cerrar la aplicación lanzada en nuestro PPC,


admitiendo determinadas formas para salir con una pregunta, directamente,
etc.

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com
www.blocketpc.com Documento por:
Navegando en mi bolsillo Marcos González
marcos@infocket.com
Sistema de ejecución de métodos de mdm
El código {mdm}script se ejecuta de forma asíncrona, lo que quiere decir
que la función no devuelve el resultado de la petición en el momento que es
llamada, sino que necesitamos de un sistema de callback para actuar solo
cuando estemos seguros que ya nos ha devuelto el resultado.

Un ejemplo claro de esta forma de trabajar lo podemos observar con la


siguiente función de mdm.

var valorbateria = mdm.battery_getlife();


_root.output.text = “Bateria %:”+valorbateria;

No nos daría un resultado correcto, ya que cuando sacamos la


información por pantalla aun no hemos obtenido el valor que deseabamos. El
sistema para solucionar este problema es el siguiente:

onBateria = function(valorbateria)
{
_root.output.text = “Bateria %:”+valorbateria;
}
mdm.battery_getlife(onBateria);

De esta manera la funcion onBateria se lanza cuando el valor ya está


disponible, y lo recoge en su primer argumento valorbateria,que puede ser
empleado en el código que contiene.

Esto es así en lineas generales para todas las funciones propias de


mdmScript de las que deseemos obtener valores de vuelta.

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com
www.blocketpc.com Documento por:
Navegando en mi bolsillo Marcos González
marcos@infocket.com
El ejemplo de Test de Conexion
Con todo lo anterior ya podemos enfrentarnos a la simple tarea (ya
veréis que realmente es simple) de detectar si el dispositivo cuenta con
conexión o no.

Creación del fla

Para este ejemplo dispondremos de 3 capas, una etiquetada como


“codigo”, otra como “boton cerrar” y otra como “texto salida”.

En nuestro primer frame de la capa código colocamos el ya conocido


mdm.init() de tal manera que a partir de ese momento dispongamos de todos
los comandos para comunicarnos con nuestro dispositivo. Es una practica
dejar 1 frame a partir de la inclusion de esta llamada para asegurarnos que se
ha cargado toda la arquitectura correctamente.

A continuación como explicamos en los párrafos anteriores, creamos un


nuevo fotograma clave en la capa código (el segundo) donde incluiremos el
siguiente script:

stop();
onConnectionStatus = function(resultado)
{
if (resultado==”true”)
{
_root.salida.text = “Se dispone de conexion.”;
}
else
{
_root.salida.text = “No se dispone de conexion.”;
}
}
mdm.checkconnection(onConnectionStatus);

Por otro lado creamos un campo de texto dinámico en el segundo


fotograma de la capa “texto salida” que ocupe una buena parte de la pantalla y
le damos como nombre de instancia salida. Lo configuramos como multilinea
para que en caso de que el texto insertado en el sea extenso permita su
visualización. Este campo de texto nos servirá para mostrar los mensajes al
usuario sobre las acciones que realiza el código. También podríamos usar el
método mdm.prompt(mensaje) para sacarlo como una ventana de alerta.

El código solicita a mdm el estado de conexion, y le asigna una función


callback para cuando ésta respuesta esté disponible. Cuando mdm dispone de
la respuesta lanza el callback pasandole como parámetro el valor de respuesta.
Dentro del callback analizamos este valor para mostrar en el campo de texto si
se dispone o no de conexión.

Finalmente vamos a programar un botón para poder salir de la aplicación


cuando deseemos, para ello en el segundo frame de la capa “boton cerrar”

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com
www.blocketpc.com Documento por:
Navegando en mi bolsillo Marcos González
marcos@infocket.com
situamos un clip de pelicula que represente el cierre de la aplicación (por
ejemplo una X, para ser originales). Asignamos a dicho clip cerrar_mc como
nombre de instancia y añadimos el siguiente fragmento de código al que ya
teníamos insertado en el segundo fotograma de la capa de código.

cerrar_mc.onPress = function()
{
mdm.exit(“ask”,”¿Está seguro de salir?”);
}

El significado de este código es bastante evidente. Usamos la variante


pregunta de la funcion exit (especificado en el ask que actua de primer
parámetro) para crear una ventana de alerta con dos posibles respuestas SI /
NO frente al texto pasado como segundo parámetro.

NOTA:
El hecho de usar onPress en vez del clásico onRelease es que en las
aplicaciones de PPC, es más adecuado, ya que la detección del onRelease con
el lápìz es bastante más complicada que la detección de un onPress. De
hecho, fallan con bastante facilidad todos los eventos relacionados con “soltar”
cuando usamos flash en ppc a través de mdm (no hemos comprobado aun si
ocurre en otras aplicaciones alternativas a mdm como flash assist, aunque si
esta contrastado que en aplicaciones realizadas en C++ o .NET esto no
ocurre).

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com
www.blocketpc.com Documento por:
Navegando en mi bolsillo Marcos González
marcos@infocket.com
Creación del ejecutable para PPC
Una vez compilado (y comprobado que no funciona absolutamente nada
en nuestro equipo habitual) ya disponemos del swf para crear el ejecutable e
instalador de nuestra aplicación para PPC. Si no sabes aun cómo realizarlo te
remitimos al tutorial disponible en esta misma web: Uso básico MDM Zinc V2
Pocket PC

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com
www.blocketpc.com Documento por:
Navegando en mi bolsillo Marcos González
marcos@infocket.com
Consideraciones finales
Hemos observado en las pruebas realizadas que este método de
detección de conexión funciona tanto en conexión directa de PDA con Internet
(via Wireless, bluetooth con un movil,...) , como a través de un equipo al que se
encuentra conectado el dispositivo, si bien nos ha dado la sensación que en el
caso de estar contectado a un equipo mediante activeSync, detecta conexión
aunque el equipo al que se está conectado no disponga de ella.

Este sencillo script nos puede ser muy útil para todas aquellas
aplicaciones en las que se necesite disponer de la información de forma
actualizada, con lo que podremos solictarle al usuario su consentimiento para
comprobar actualizaciones en el caso que detectemos que existe conexión a
internet.

En el próximo tutorial, realizaremos esta tarea con una actualización de


un fichero xml via internet con detección de conexión.

Si detectas alguna errata o fallo en este documento, no dudes en comunicárselo a su autor en esta
dirección de correo: marcos@infocket.com

También podría gustarte