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.

h25mK6P AEUVkmIh jwlb3W5v7oYAebXwOEQWdcRWOdG4pVUFwX gUPCfhOT44D7f7EZL8jq4 5OKC9 1jRuViIm6Tk EFlrFP1VLnZvdpLMwy3EQgwIuJOCc9iQEq2Iw3cLBcWl - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2
zQi5zrHBk1ke729rB0x6WVRjQNhnIRew8b62 vLUepnYC1ltR2MCDdvrAWrX6DPUfMTpACJgEbztoJB30h9BBBx2KlNVHRoAfhdM3fsp2p8HSDN Y541FU0ASssHf6VBSXwmvYZP - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

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.

95JM4XLJPCuZBGH1Qy fEYni4dk8J6ec 83fDrTtUoiHbuDVWJejSbYhrIshaG fXfxMnxzYCI I0JduK2mP5mdPgFuXBONq7M8GGhJYx6MfUzM8sEa9syEdW39npzyOSkAOw3SA - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

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.

sDgnPVnK NeGuCFL1RShy9dykRBUXR 31B9AB7D2w1I82iaikSQ3dvpktqShUD4KMhNOrl88hoOjUZ9 rl tksiOdCNpmlU9CN1 YffmOltNuFTbU5Lh7K2Rm7VEhip2NFMVgym8 - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

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.

6EDVcxBzXpWZ1CbOd7Yd SMGHLkEvL4e1kbay5n5jQWWTGlAE8A1rByg6I9sL6hjzIukzvlr9MICDp10L3kwE0YYMoMERWO8L 1mulU45vf6suWwP6m YJ8vVC0P2Pj RYDGZfcJ - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

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.

09Vtpz IXT3D5kaqMG2MPMk2PojozppFDDccB80vjNWSv XmKkwuTpKofe2ZX0wTvHXKHUKy4OGaTE3XWUF6 QxUQC8rbEzS4rN ITCviBX7aZQfvWxyenDBTofHR93 0EpeqzHo - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

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

jvyjiWyF1Nda9DToDBl4qg6L9WXonZy3k64l9dB N KKc1X87L1346ic8zLKRiR26azNbi8h8r fdTQdGmSg8j4WVqqbs8acvMcLCk7TXwp3W4FdhjIr tL9UoAdePQ8Usdcy50O - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

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.

YYPXAepWeXY4GV aUTq39SrPxlb16wnAIx7gS2Zlbk4fXTMHsLnOGGzaG6b4WbsXPrvRf985JQswq6hfFt7ERyZaa3LNORYa3tkM 6o7pi7xMfh1MFofh YsNgbtoJ6YnsDrTyYQ - COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2

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.


8 comentarios en «COMPONENTE FILE (ARCHIVO) EN APP INVENTOR 2»

  1. Quería saber si me puedes ayudar con mi aplicación, cuando aprete un boton quiero que se abra un archivo de PDF (es para cargar Leyes) luego una vez que cierre el PDF debería continuar en la aplicación.
    Pero no logro hacer que se abra un PDF con App Inventr 2.
    Muchas gracias

    Responder

Deja un comentario

error: Content is protected !!