• inicio
  • tutoriales flash
  • trucos flash
  • faq's flash
  • enlaces flash
  • suscribirse al feed RSS

tutoriales ( todos | principiante | medio | avanzado | AS 1.0 | AS 2.0 | AS 3.0 | top )

Tutorial FLASH - Tutorial para guardar datos en el disco duro con Flash. La clase SharedObject.

| | Más
Versión Flash: MX 2004 y superiores   |   Compatible con ActionScript 1.0 y 2.0   |   Nivel: Medio   |   Hits: 46613

Podemos guardar datos en el disco duro del usuario utilizando la clase SharedObject, que es similar a las cookies usadas por los navegadores web. Esta funcionalidad es muy útil para almacenar preferencias del usuario o información relativa a la película y como vereis es muy sencilla de implementar.

La clase SharedObject es una clase de nivel superior lo que significa que no podemos crear instancias de ella. Actionscript dispone de varias clases de este tipo, entre las más empleadas están la clase Key, la clase Math, la clase Mouse y la clase Number.

Los datos que vamos a poder almacenar en el disco del usuario pueden de todo tipo: variables, objetos XML, arrays, etc. y todo esto lo podemos aplicar a ejecución en entornos online y offline. Incluso en un proyector podremos utilizarlo.

COMO HACERLO.
Comenzamos escribiendo el código:
var datos_acceso:SharedObject = SharedObject.getLocal("user_data");
Con esto creamos el objeto datos_acceso que nos va a permitir interactuar con el objeto compartido user_data guardado en el disco del usuario. Si user_data no existe, lo crea automáticamente, por tanto, ésta es la sentencia necesaria para crear un objeto de inicio.

Esta sintaxis con dos objetos puede parecer un poco confusa, pero tratándose de una clase de nivel de superior como ya hemos explicado antes, es la única manera de hacerlo. Sin embargo, a partir de este punto sólo tendremos que trabajar con datos_acceso.

Los datos se almacenan en un objeto compartido a través de la propiedad data. Comprobamos si ya existen datos guardados en el disco y en caso afirmativo, los asignamos escribimos en las cajas de texto.
if (datos_acceso.data.user) {
user = datos_acceso.data.user;
}
if (datos_acceso.data.pass) {
pass = datos_acceso.data.pass;
}

Para guardar la información de usuario del ejemplo asignamos estas acciones en el botón "guardar datos":
on (release) {
datos_acceso.data.user = user;
datos_acceso.data.pass = pass;
}

Como se ve, el funcionamiento es muy simple, primero definimos un objeto que asociamos a determinado objeto compartido del disco del usuario a través de getLocal y después podemos obtener y establecer los valores a través de la propiedad data de este objeto.

Podeis probar en el ejemplo a meter unos datos y pulsar en "guardar datos", una vez que lo hayais hecho, quedarán grabados. Si actualizais la página, incluso si cerrais el navegador y volveis a entrar, incluso si accedeis con otro navegador, aparerán los datos almacenados. Fácil, ¿verdad?

Los datos permanecerán guardados salvo que los borremos con el botón "borrar datos", el código del botón es:
on (release) {
datos_acceso.clear();
}

Esto borra todos los datos del objeto compartido y elimina el objeto compartido del disco del usuario.

El único pero que se le puede poner al uso de objetos compartidos es la limitación del tamaño del archivo guardado. Por defecto, el tamaño es de 100 KB, en caso de superarse, se mostraría un cuadro de diálogo que pide a los usuarios aumentar el límite de almacenamiento de objetos compartidos locales.

Aquí teneis el archivo objetos_compartidos.fla del ejemplo con el código comentado.

Trucos Flash relacionados
| | Más
flash 1flash 1flash 1flash 2flash 1flash 3flash 1flash 4