« # »

Novato de AdobeAIR (en JavaScript)

Cosas que he aprendido hoy a hacer con AIR y JS:

Abrir una URL en el navegador predefinido del sistema:

JavaScript:
  1. function openInBrowser(url) {
  2.     air.navigateToURL( new air.URLRequest(url));
  3. }

Guardar datos en un fichero:

JavaScript:
  1. var flash = window.runtime.flash;
  2. var file = flash.filesystem.File;
  3. var fm = flash.filesystem.FileMode;
  4. var fs = new flash.filesystem.FileStream();
  5. var dir = file.applicationStorageDirectory; //carpeta de la aplicación (más abajo más carpetas)
  6. var arx = dir.resolvePath("data.obj"); //data.obj es el nombre del fichero
  7. fs.open(arx, fm.WRITE);//abrimos para guardar fm.UPDATE para actualizar
  8. fs.writeUTFBytes('Hola mundo!');

Más carpetas del sistema:

JavaScript:
  1. var flash = window.runtime.flash;
  2. var _file = flash.filesystem.File;
  3.  
  4. // Carpeta de aplicación. Carpeta privada sólo para la aplicación actual;
  5. _file.applicationStorageDirectory;
  6.  
  7. // La carpeta donde se encuentra instalada la aplicación. Sólo lectura.
  8. _file.applicationDirectory;
  9.  
  10. //Escritorio del SO
  11. _file.desktopDirectory;
  12.  
  13. //la carpeta de documentos usuario del SO (C:\Documents and Settings\usuario\Mis Documentos, Users/usuario/Documents, etc...)
  14. _file.documentsDirectory;
  15.  
  16. //la carpeta del usuario del SO  (C:\Documents and Settings\usuario, Users/usuario, etc...)
  17. _file.userDirectory;

Formas de abrir un fichero

JavaScript:
  1. var fm = window.runtime.flash.filesystem.FileMode;
  2.  
  3. //Abre el fichero para sólo poder ser leido.
  4. fm.READ;
  5.  
  6. //Abre un fichero (si no existe lo crea), y borra todo el contenido actual. Solo escritura.
  7. fm.WRITE;
  8.  
  9. //Abre un fichero (si no existe lo crea), y añade todo el contenido al final del fichero. Solo escritura.
  10. fm.APPEND;
  11.  
  12. //Abre un fichero (si no existe lo crea), y permite acceder a cualquier punto del mismo para añadir o leer contenido.
  13. fm.UPDATE;
  14. // esto se usa juntamente con objetoFileStream.position=NumeroInt;

Le puedes cargar CUALQUIER libreria JS (por ejemplo JQuery)

JavaScript:
  1. var elementos = $('#aplicacion #formulario input');

Tiene expresiones regulares!

JavaScript:
  1. var absolute = f.url;
  2. absolute = absolute.replace(/file\:\/\/\/(\w)\:/,'$1:');

objetoFileStream.writeUTF es el diablo, usa objetoFileStream.writeUTFBytes

JavaScript:
  1. //esto aún no se porqué, a ver si alguien me dice porqué writeUTF coloca un bytes de control al inicio del fichero :)

Desactivar la selección de elementos

CSS:
  1. body{
  2.     -webkit-user-select:none;
  3. }

Iré poniendo más cositas hasta que termine el programita que estoy haciendo :).

Comentarios

  1. David | septiembre 11th, 2009 | 8:40 am

    El Air lo tengo en un TODO por aquí :P.

    Lo de los bytes de control… Quizá sea el Byte order mark (BOM).

    http://es.wikipedia.org/wiki/UTF-8#Byte_order_mark_.28BOM.29

  2. Maxell | septiembre 25th, 2009 | 8:52 am

    Genial amigo sigue avanzando con el manual, te felicito porq tu si enseñas y eso es lo que hace falta en internet.
    Sigue con el manual porfavor soy tu seguidor.
    Saludos

  3. Tecnorama | octubre 1st, 2009 | 12:27 pm

    Muy interesante, Marc!

    Te recomiendo que pruebes el archivo airaliases.js, ahorra mucho trabajo: ej:

    var fs = new air.FileStream();
    var dir = air.File.desktopDirectory;
    var arx = dir.resolvePath(“data.txt”); //data.obj es el nombre del fichero
    fs.open(arx,air.FileMode.WRITE);
    fs.writeUTFBytes(‘Hola mundo!’);
    fs.close(); //cierra el stream o no podras abrir el fichero mientras la aplicación este en uso

Deja un comentario

(*: Datos necesarios para dejar un comentario)

Get Adobe Flash playerPlugin by wpburn.com wordpress themes