Septiembre 11th, 2009
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:
-
function openInBrowser(url) {
-
air.navigateToURL( new air.URLRequest(url));
-
}
Guardar datos en un fichero:
JavaScript:
-
var flash = window.runtime.flash;
-
var file = flash.filesystem.File;
-
var fm = flash.filesystem.FileMode;
-
var fs = new flash.filesystem.FileStream();
-
var dir = file.applicationStorageDirectory; //carpeta de la aplicación (más abajo más carpetas)
-
var arx = dir.resolvePath("data.obj"); //data.obj es el nombre del fichero
-
fs.open(arx, fm.WRITE);//abrimos para guardar fm.UPDATE para actualizar
-
fs.writeUTFBytes('Hola mundo!');
Más carpetas del sistema:
JavaScript:
-
var flash = window.runtime.flash;
-
var _file = flash.filesystem.File;
-
-
// Carpeta de aplicación. Carpeta privada sólo para la aplicación actual;
-
_file.applicationStorageDirectory;
-
-
// La carpeta donde se encuentra instalada la aplicación. Sólo lectura.
-
_file.applicationDirectory;
-
-
//Escritorio del SO
-
_file.desktopDirectory;
-
-
//la carpeta de documentos usuario del SO (C:\Documents and Settings\usuario\Mis Documentos, Users/usuario/Documents, etc...)
-
_file.documentsDirectory;
-
-
//la carpeta del usuario del SO (C:\Documents and Settings\usuario, Users/usuario, etc...)
-
_file.userDirectory;
Formas de abrir un fichero
JavaScript:
-
var fm = window.runtime.flash.filesystem.FileMode;
-
-
//Abre el fichero para sólo poder ser leido.
-
fm.READ;
-
-
//Abre un fichero (si no existe lo crea), y borra todo el contenido actual. Solo escritura.
-
fm.WRITE;
-
-
//Abre un fichero (si no existe lo crea), y añade todo el contenido al final del fichero. Solo escritura.
-
fm.APPEND;
-
-
//Abre un fichero (si no existe lo crea), y permite acceder a cualquier punto del mismo para añadir o leer contenido.
-
fm.UPDATE;
-
// esto se usa juntamente con objetoFileStream.position=NumeroInt;
Le puedes cargar CUALQUIER libreria JS (por ejemplo JQuery)
JavaScript:
-
var elementos = $('#aplicacion #formulario input');
Tiene expresiones regulares!
JavaScript:
-
var absolute = f.url;
-
absolute = absolute.replace(/file\:\/\/\/(\w)\:/,'$1:');
objetoFileStream.writeUTF es el diablo, usa objetoFileStream.writeUTFBytes
JavaScript:
-
//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:
-
body{
-
-webkit-user-select:none;
-
}
Iré poniendo más cositas hasta que termine el programita que estoy haciendo :).


