AIR nos provee de las herramientas necesarias para desarrollar no solo aplicaciones potentes que se ejecutan en el escritorio, sino también nos permite añadir la funcionalidad que cualquier otro sistema de escritorio posee, como es el manejo de directorios y archivos. Aprenderemos a desarrollar aplicaciones de escritorio que creen y eliminen directorios y archivos (esto lo haremos usando Flash Builder Burrito, que ya incluye AIR 2.5).

1.- Crearemos nuestro proyecto como normalmente lo hacemos, asignando un nombre al proyecto y eligiendo (si así se quiere) una ruta diferente a la predeterminada. La única diferencia será que en Application Type, seleccionaremos Desktop.

2.- Ya en nuestro proyecto, cambiaremos el Witdh y el Heigth de nuestra aplicación a: 740px y 320px respectivamente. Cambiaremos a la vista de diseño y crearemos un nuevo estado, al cual nombraremos “archivos” y renombraremos el que ya teníamos por default a “directorios”.

3.- Cambiaremos a nuestro primer estado (directorios), seleccionándolo y comenzaremos nuestra pequeña interfaz con los siguientes componentes: un panel que contendrá un FileSystemTree, dos Labels, dos TextArea, un TextInput y dos botones. La controlBarContent contendrá dos botones, los cuales nos permitirán cambiar de estado en nuestra aplicación. De forma que tengamos algo como lo siguiente:

4.- Seleccionaremos nuestro estado archivos y haremos unos cuantos cambios a nuestra interfaz, cambiando el texto de nuestras labels, el titulo de nuestro panel, asi como ademas agregaremos dos botones mas.

En nuestra vista de código, las propiedades de estos elementos deberán ser las siguientes:

5.- A nuestro tag WindowedApplication le agregaremos un CreationComplete, que se ejecute justamente cuando la aplicación allá sido cargada completamente. Esta función se llamara Start.

6.- Crearemos un bloque de Script y comenzaremos definiendo las librerías que vamos a utilizar, ademas de nuestras variables.

7.- Definiremos nuestra función start, la cual se encargara de obtener la ruta de los documentos del usuario para tomarla como referencia en nuestra aplicación.

Para obtener la ruta utilizamos la propiedad documentsDirectory, la cual contiene la nativePath (ruta nativa), si quisiéramos acceder al escritorio del usuario usamos desktopDirectory.

8.- A nuestro TextInput nombreDirectorio le agregaremos un evento del tipo change, el cual habilitara a nuestro botón doDirectory cuando el usuario ingrese el nombre para el nuevo directorio.

9.- Ahora que hemos habilitado el botón doDirectory, le añadiremos un evento que se ejecutara cuando el usuario le de clic.

En este estado el usuario podrá crear archivos de texto desde nuestra aplicación.

10.- Crearemos una función que cree un archivo de texto nuevo y que se ejecutara cuando el usuario allá dado clic al botón Guardar. Dentro de este archivo quedara guardado el texto que el usuario escriba en nuestro TextInput, así cuando el usuario lo habrá con su aplicación por default, podrá ver el texto ingresado desde AIR.

Cuando hablamos de manejo de archivos también pensamos en como eliminar estos archivos, de modo que nuestra ultima función se encargara de realizar este proceso.

11.- Crearemos una función que se ejecute al dar clic en nuestro botón Eliminar, la cual evaluara si el elemento seleccionado en el FileSystemTree es un directorio y un archivo, para entonces eliminarlo.

Antes de probar nuestra aplicación, agregaremos la propiedad enterState a nuestro FileSystemTree, para que se actualice cuando cambiemos de estado.

Cuando ejecutemos nuestra aplicación, podremos ver que el primer TextArea ya contiene la ruta de nuestros archivos (en Windows “Mis Documentos”), y al crear una carpeta (a la cual nosotros llamamos Demo) nuestro FileSystemTree se actualiza. Despues creamos un archivo de texto, al cual se le escribió: “Hello World From Flash Builder Burrito and AIR 2.5”, el cual al abrir contiene el mensaje ingresado desde nuestra aplicación en AIR.

Ahora, al ir a la ruta indicada en nuestro primer TextArea, podemos abrir nuestro directorio creado, para leer dentro de nuestro archivo .txt el mensaje ingresado desde AIR.