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 :).



Comentarios
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
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
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