miércoles, 24 de octubre de 2018

COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

¿QUE ES EL COMPONENTE ARCHIVO?

Es un componente no visible que sirve para recuperar o guardar archivos de texto plano en el dispositivo, se puede escribir archivos en el directorio privado de la aplicación, donde no podrá ser accedido por ninguna otra aplicación del dispositivo. Pero si la dirección del archivo comienza con una barra invertida (/), el archivo se guardará en la tarjeta de memoria.

¿UN EJEMPLO SENCILLO?

Bien en nuestro ejemplo crearemos una simple aplicación donde podremos anotar  lo que queramos a modo de notas, podremos guardarlo y más tarde recuperarlo, para si queremos modificarlo,  para ello lo que haremos es crear el layout donde utilizaremos un VerticalScrollArrangement,  en donde introduciremos una Etiqueta y una DisposiciónHorizontal, dentro de esta disposición horizontal pondremos tres botones, uno para cargar el texto, otro para guardarlo, y por último un botón para poder editar texto, en un CampoDeTexto. Por último y no menos importante necesitaremos dos componentes no visibles, un Notificador,  que nos avisara si se ha guardado correctamente nuestro archivo o si se ha cargado sin ningún problema, y un componente File.

Como el objetivo de este tutorial es el de ver el uso del componente File, el diseño vamos a dejarlo en un segundo plano, mostraré las capturas de como me ha quedado a mi y mas abajo podreis descargar el proyecto.

LA LÓGICA DE NUESTRO EJEMPLO

Lo primero que vamos a necesitar es una variable global que contendrá un cuadro de texto vacío, a la que daremos el nombre de Texto.

Ahora lo que necesitamos es pasar lo que escribamos en nuestro campo de texto a nuestra etiqueta, indiferentemente si ya teníamos algo escrito o no, usando nuestro botón  BTNponertxt, para ello necesitamos hacer que cuando el usuario pulse el botón, ponga la etiqueta TextNota con el resultado de unir el texto que contenga TextNota (si lo tuviera), con el de la caja de texto. Tiene que quedar de la siguiente manera.

Bien, el siguiente paso podría ser guardar el texto en un archivo dentro de nuestro dispositivo, para asegurarnos de que la próxima vez que abramos la aplicación podamos recuperarlo. para ello necesitamos que al pulsar nuestro botón BTNGuardar la variable global Texto obtenga el texto de nuestra etiqueta TextNota, y seguido guardar la variable en un fichero con el nombre de txtNota.txt. quedará de la siguiente manera.

Vamo a necesitar saber si se a guardado correctamente, para ello necesitamos el bloque cuando Archivo1.AfterFileSaved que nos indicará si el contenido de un archivo a sido escrito, y si es cierto llamaremos al nuestro componente notificador, que mostrará un cuadro de diálogo mostrando un mensaje, que será el resultado de unir dos textos. En primer lugar será tomar el nombreDeArchivo y lo uniremos con un bloque de texto vacío que en su interior pondremos el texto “Se guardó con éxito.” en el título pondremos el texto “Aviso” y en textoEnBotón “Aceptar”. Tiene que quedar de la siguiente manera.

Bien ya hemos creado un texto, con ayuda de un botón lo guardamos y ahora solo nos falta cargar el texto guardado. Para ello cuando pulsemos nuestro botón BTNCargar.Clic llamaremos a nuestro componente llamar Archivo.LeerDesde y en nombreDeArchivo pondremos un bloque de texto con el nombre del archivo con el que se guardó. Quedará de la siguiente manera

Igual que cuando guardamos nuestro archivo, mostramos un cuadro de diálogo para decirle al usuario que todo estaba correcto, ahora haremos lo propio utilizando el bloque cuando Archivo1.ObtuvoTexto que llamara si es cierto al bloque llamar Notificador1.MostrarDiálogoMensaje, en donde el mensaje pondremos el texto “Se cargó con éxito” en título el texto “Aviso” y en el textoEnBotón “Aceptar”. Por último pondremos el texto de nuestra etiqueta TextNota con el valor de nuestra variable local texto, quedando de la siguiente manera.

Bien, si ahora ejecutamos la aplicación con nuestro método favorito, podremos escribir en la caja de texto, pulsando el botón de añadir texto copiarlo a nuestra etiqueta, guardar el texto y volverlo a cargar pulsando en los respectivos botones.

Aquí tienes el enlace del proyecto de ejemplo en formato AIA para App Inventor.

Ejemplo App Inventor

Bueno, sin mas me despido esperando que este post te sea de utilidad, tanto si estás empezando como si estas atascado en algún proyecto.

No olvides dejar algún comentario y no dejes de compartirlo.

Un saludo.


No hay comentarios:

Publicar un comentario

Compartir archivos y texto con Sharing

En alguna ocasión, tendrás que crear una aplicación en app inventor en la que quieras mandar fotos y videos a otras aplicaciones instaladas ...