36
Crear una aplicación AIR con Flash y ActionScript Unidad 14

As3 unidad 14 crear una aplicación air con flash y action script

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: As3 unidad 14 crear una aplicación air con flash y action script

Crear una aplicación AIR con Flash y

ActionScriptUnidad 14

Page 2: As3 unidad 14 crear una aplicación air con flash y action script

Objetivos

Usar Flash para crear una aplicación de plataforma cruzada (cross-plataform)

Asignar la configuración para crear una aplicación Air

Personalizar la aplicación AIR y el instalador

Definir los iconos de la aplicación AIR

Page 3: As3 unidad 14 crear una aplicación air con flash y action script

Objetivos

Usar las clases AIR para interactuar con el sistema operativo

Publicar e instalar una aplicación AIR Usar las propiedades drag&drop del

sistema operativo con la aplicación AIR

Usar las clases File y FileStream para leer datos desde un archivo externo

Page 4: As3 unidad 14 crear una aplicación air con flash y action script

AIR

AIR (Adobe Integrated Runtime) es una herramienta para crear aplicaciones de escritorio, utilizando los conocimientos de ActionScript

Se pueden crear aplicaciones AIR desde Flash, Flex y Dreamweaver

Las aplicaciones AIR funcionan en Windows, Macintosh y Linux

Page 5: As3 unidad 14 crear una aplicación air con flash y action script

AIR

Con AIR podrá:– Leer y escribir archivos de datos– Copiar y pasar objetos del portapapeles

del sistema operativo– Se tiene propiedades de navegador– Integración con archivos PDF– Crear base de datos locales

Page 6: As3 unidad 14 crear una aplicación air con flash y action script

ActionScript para AIR

Existen clases especificas para AIR, que sólo funcionan con ActionScript 3.0.

Todas las clases de Flash AS 3.0 funcionan para AIR.

Page 7: As3 unidad 14 crear una aplicación air con flash y action script

Archivo descriptor

Las aplicaciones AIR tienen un archivo XML con la descripción de la misma, incluyendo los iconos que se utilizarán

Los iconos tienen 4 tamaños predeterminados, en formato PNG.

Las aplicaciones AIR cuentan con una firma digital de seguridad

Dicha firma debe de ser adquirida a una empresa que se dedica a ello

Page 8: As3 unidad 14 crear una aplicación air con flash y action script

Configuración de una aplicación AIR

Page 9: As3 unidad 14 crear una aplicación air con flash y action script

Archivo descriptor

Usted puede crear su propia firma digital, pero no tiene la misma seguridad y en la instalación se indicará que el proveedor del software es “desconocido”

Se puede generar una firma digital tipo 1024_RSA y 2048-RSA (más segura)

Indique también los archivos que deben ser incluidos dentro de la aplicación

Page 10: As3 unidad 14 crear una aplicación air con flash y action script

Paquete de aplicación

Un archivo con extensión .air es creado, el cual es el instalador (deberá tener los privilegios en su sistema operativo para crear el paquete).

Al ejecutar este paquete, su aplicación deberá ser correctamente instalada en su sistema operativo

Page 11: As3 unidad 14 crear una aplicación air con flash y action script

Manejo del portapapeles (clipboard) del sistema

operativo

Page 12: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

La clase NativeDragEvent es utilizada para detectar los objetos que se mueven por medio del sistema operativo– nativeDragStart: cuando comienza la

operación de arrastrar. – nativeDragUpdate: mientras la

operación de arrastrar está en curso. – nativeDragComplete: cuando el

usuario suelta el elemento arrastrado (se acepte o no la operación de soltar).

Page 13: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

Al arrastrar un objeto en el sistema operativo, se genera un objeto NativeDragManager

El objeto que detectará dentro de Flash a los objetos externos, se marca con el método NativeDragManager.doDrag()

Estos objetos pueden detectar los siguientes eventos:

Page 14: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

nativeDragEnter: cuando el objeto arrastrardo no sale de los límites del objeto.

nativeDragOver: mientras el gesto de arrastrar permanece dentro de los límites del objeto.

nativeDragExit: cuando el gesto de arrastrar sale de los límites del objeto.

Page 15: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

nativeDragDrop: cuando el usuario suelta el elemento sobre el objeto y éste ha aceptado previamente la operación de soltar mediante una llamada a NativeDragManager.acceptDragDrop().

Page 16: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

En este ejemplo se utilizará:– El evento NATIVE_DRAG_ENTER para

indicar que el objeto está sobre el objeto habilitado en Flash

– El evento NATIVE_DRAG_DROP para indicar que el objeto fue soltado sobre el objeto habilitado en Flash

Page 17: As3 unidad 14 crear una aplicación air con flash y action script

Formatos del clipboard

Al momento de ser arrastrado, AIR puede determinar el tipo de objeto que se arrastra (texto, bitmap, HTML, etc)

En el sistema operativo, se pueden arrastrar más de un archivo, con lo cual se genera un arreglo con los archivos que han sido arrastrados por el usuario

Los archivos arrastrados pueden ser de diferente tipo

Page 18: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

Con el método .hasFormat() se puede verificar si el portapapeles contiene información

Este método puede tener uno de los siguientes parámetros:

Page 19: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

Formato Tipo Descripción

ClipboardFormats.TEXT_FORMAT String datos de cadena

ClipboardFormats.HTML_FORMAT String datos de cadena HTML

ClipboardFormats.URL_FORMAT String Cadena URL (sólo AIR)

ClipboardFormats.RICH_TEXT_FORMAT

ByteArray

Datos con formato de texto enriquecido

Page 20: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEvent

Formato Tipo Descripción

ClipboardFormats.BITMAP_FORMAT BitmapData

datos de mapa de bits (sólo AIR)

ClipboardFormats.FILE_LIST_FORMAT

conjunto de File

conjunto de archivos (sólo AIR)

Nombre de formato personalizado cualquiera

referencia a objeto y clon serializado

Page 21: As3 unidad 14 crear una aplicación air con flash y action script

Clase NativeDragEventworkArea_mc.addEventListener(NativeDragEvent.N

ATIVE_DRAG_ENTER,onDragEnter);function onDragEnter(e:NativeDragEvent):void {

if(e.clipboard.hasFormat(ClipboardFormats.FILE_LIST_FORMAT)) {

NativeDragManager.acceptDragDrop(workArea_mc);}

}

Page 22: As3 unidad 14 crear una aplicación air con flash y action script

Evento NATIVE_DRAG_DROP

El evento NATIVE_DRAG_DROP se lanza cuando el usuario suelta los objetos arrastrados desde el sistema operativo, sobre el objeto habilitado en Flash

Tenemos que recuperar la información de los objetos en un arreglo local:

var cbFiles:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT,ClipboardTransferMode.CLONE_ONLY) as Array;

Page 23: As3 unidad 14 crear una aplicación air con flash y action script

Evento NATIVE_DRAG_DROP

El método clipboard.getdata() recupera la información del portapapeles de los archivos descritos en FILE_LIST_FORMAT

El segundo parámetro, CLONE_ONLY indica que se usará una copia del archivo y no su referencia

Después de esto crearemos dos arreglos para validar que los archivos arrastrados sean del formato de nuestros componentes

Page 24: As3 unidad 14 crear una aplicación air con flash y action script

Manejo de archivos con AIR

Page 25: As3 unidad 14 crear una aplicación air con flash y action script

Clases File

Objeto File que representa una ruta de archivo o de directorio existente, o bien uno que aún no exista.

La clase File tiene varias propiedades y métodos para obtener información sobre el sistema de archivos y las operaciones permitidas (por ejemplo, copiar archivos y directorios).

Puede utilizar objetos File con la clase FileStream para leer y escribir archivos.

Page 26: As3 unidad 14 crear una aplicación air con flash y action script

Clases File La clase File incluye propiedades estáticas que

permiten hacer referencia a las ubicaciones de directorio más utilizadas:– File.applicationStorageDirectory: un directorio de

almacenamiento exclusivo para cada aplicación de AIR instalada

– File.applicationDirectory: el directorio de sólo lectura en el que se instala la aplicación (junto con el resto de archivos instalados)

– File.desktopDirectory: el directorio del escritorio del usuario

– File.documentsDirectory: el directorio de documentos del usuario

– File.userDirectory: el directorio del usuario

Page 27: As3 unidad 14 crear una aplicación air con flash y action script

La clase FileStream Se utiliza un objeto FileStream para leer y

escribir archivos. Los archivos se pueden abrir de forma sincrónica llamando al método open() o de forma asíncrona llamando al método openAsync().

La ventaja de abrir archivos de forma asíncrona reside en que otro código puede ejecutarse mientras Adobe AIR lee y escribe los procesos en segundo plano.

Cuando se abre de forma asíncrona, los eventos progress se distribuyen como procedimiento de las operaciones.

Page 28: As3 unidad 14 crear una aplicación air con flash y action script

La clase FileStream

Un objeto File abierto de forma sincrónica se comporta casi como un objeto ByteArray; un archivo que se abre de forma asíncrona se comporta casi como un objeto Socket o URLStream.

Cuando se abre un objeto File de forma sincrónica, la llamada se detiene mientras se leen o escriben los datos solicitados en el archivo subyacente.

Cuando se abre de forma asíncrona, todos los datos escritos en el flujo se guardan en el búfer inmediatamente para escribirse después en el archivo.

Page 29: As3 unidad 14 crear una aplicación air con flash y action script

La clase FileStream

Los datos que se pueden leer de forma sincrónica en el momento actual se representan mediante la propiedad bytesAvailable.

Una aplicación que procesa entradas asíncronas suele registrar eventos progress y consumir los datos a medida que están disponibles mediante llamadas a métodos de lectura. Una aplicación también puede esperar a que todos los datos estén disponibles registrando el evento complete.

Page 30: As3 unidad 14 crear una aplicación air con flash y action script

Abrir un archivo

open(file:File, fileMode:String):void Abre el objeto FileStream de forma

sincrónica y señala al archivo especificado por el parámetro file.

En sistemas que admitan el bloqueo de archivos, un archivo abierto en modo de "escritura" o de "actualización" (FileMode.WRITE o FileMode.UPDATE) no se puede leer hasta que se cierra.

Page 31: As3 unidad 14 crear una aplicación air con flash y action script

FileMode

La clase FileMode define constantes de cadena utilizadas por el parámetro fileMode de los métodos open() y openAsync() de la clase FileStream. El parámetro fileMode de estos métodos determina las funciones disponibles en el objeto FileStream una vez abierto el archivo.

Page 32: As3 unidad 14 crear una aplicación air con flash y action script

FileMode

Las funciones de cada constante de la clase FileMode :

Constante

Lectura Escritura

Creación

Truncar Añadir

READ *

WRITE * * *

APPEND * * *

UPDATE * * *

Page 33: As3 unidad 14 crear una aplicación air con flash y action script

Leer la información

readUTFBytes(length:uint):String Lee una secuencia de bytes UTF-8

desde el flujo de bytes o el conjunto de bytes y devuelve una cadena.

Page 34: As3 unidad 14 crear una aplicación air con flash y action script

Cerrar un archivo

close():void No es posible escribir ni leer más

datos una vez llamado el método close(). Si el archivo se ha abierto de forma asíncrona (el objeto FileStream utilizado en el método openAsync() para abrir el archivo), al llamar al método close() el objeto distribuye el evento close.

Page 35: As3 unidad 14 crear una aplicación air con flash y action script

Preguntas de revisión

¿Cómo se puede convertir una aplicación Flash en una AIR?

¿Cuál es el propósito de una firma digital?

¿Para qué se utilizan los cuatro archivos de iconos?

¿Qué evento se dispara cuando un archivo es arrastrado dentro de un objeto de una aplicación AIR?

Page 36: As3 unidad 14 crear una aplicación air con flash y action script

Preguntas de revisión

¿Cuál evento es disparado cuando el usuario suelta el objeto sobre una aplicación AIR?

¿Cuáles clases son utilizadas en AIR para leer y escribir en los archivos externos a la aplicación?