Saltar la navegación

3.3. Completa el trabajo

Diccionario

TinyDB

La imagen muestra la parte de la paleta de App Inventor 2 correspondiente a la categoría de almacenamiento donde se destaca con un recuadro rojo el componente TinyDB y se tachan los demás con una línea del mismo color

Definición:

Es un componente de App Inventor 2 que sirve para almacenar datos de manera permanente en el propio dispositivo donde se use la app donde se ha empleado.

Ejemplo:

Para que no se me borre la puntuación de mi app de juegos cuando la cierre he tenido que usar un componente TinyDB para almacenarlos.

Rétor dice

Como ya te puedes imaginar, acabar el diseño previo de una app es solo la mitad del camino.

Aún te queda programar los eventos que darán vida a la app y permitirán hacer todo aquello que hayas previsto hasta ahora.

Con la introducción de nuevos componentes verás que vas a encontrar nuevos bloques que te permitirán hacer más cosas y mejorar el aspecto y el funcionamiento de tu app.

Por tanto, es hora de que te unas a tu pareja y juntos accedáis al apartado de bloques de App Inventor, dentro del proyecto que habéis creado para esta app.

Una vez estéis frente al visor de bloques de programación preparaos para hacer la programación de los distintos elementos de la app.

1. Hay novedades

Aunque a primera vista todo está en su sitio y la apariencia es muy similar a la que ya conocéis ¿No esperaríais que al añadir más pantallas y nuevos componentes todo siguiera igual?

¡Bien pensado! Como es lógico se han introducido algunos cambios con el aumento del número de pantallas y la aparición de nuevos componentes.

¿Qué tal si por parejas echáis un vistazo previo y tratáis de haceros una lista de cambios?

La idea es que afrontéis las novedades explicando por escrito, en qué consisten. Para ello podéis usar distintas alternativas:

  • Hacerlo en vuestro cuaderno.
  • Hacerlo digitalmente, bien sea con el procesador de textos o con una presentación electrónica.
  • Hacer un pequeño mural sobre una cartulina.
  • E incluso de alguna manera soprendente que se os ocurra. 

También puede ser interesante que os fijéis en si hay algo que no cambia. Igualmente podéis escribirlo en el formato que creáis conveniente.

Os ayudará a daros cuenta de que hay opciones que permanecen fijas y eso facilita vuestra labor a la hora de utilizar el entorno de programación.

Lumen dice ¿Os doy más detalles?

Cuando abrís un proyecto nuevo, como es lógico, aparece en blanco.

Conforme vais añadiendo elementos, se producen cambios.

En este ejercicio se pide que os fijéis en qué cambia y qué se mantiene igual.

En la imagen podéis comparar el aspecto de la interfaz de bloques de un proyecto inicial que se acaba de crear con el que tendría si se hubiese configurado una pantalla de introducción de anotaciones en una app de agenda escolar.

En ambas interfaces se han desplegado los bloques de un determinado elemento. Comprobaréis que hay más componentes con los que podéis seguir explorando las nuevas opciones ofrecidas.

2. Antes de que echéis a correr...

No sé si os habéis dado cuenta ya de que cuando vais a utilizar nuevos componentes primero hay que conocerlos un poco. Sobre todo cuando llegáis a la parte de programación, donde hay múltiples opciones que se pueden combinar con las estructuras de los bloques integrados.

Por tanto, como paso intermedio antes de que os lancéis de lleno a intentar programar la app, os propongo que, en pareja, os entretengáis un momento en explorar cómo usar los bloques a la hora de abordar algunas opciones básicas que os serán de gran ayuda.

  1. Acceded a App Inventor y en el proyecto que os aparezca por defecto cread una pantalla adicional cuyo nombre sea "Pruebas".
  2. En la pantalla creada dad de alta los componentes que creáis necesarios para hacer lo que os piden en cada caso antes de programar.

En algunos casos podréis aprovechar componentes que hayáis creado con solo cambiarles el nombre, pero en otros tendréis que borrar lo que no necesitéis para dejar espacio a lo que vayáis a usar.

Como podéis comprobar, a continuación, se han definido muchos apartados. No os preocupéis si no los podéis completar todos, lo importante es que hagáis el intento, seguro que unos salen mejor que otros y en cualquier caso lo habréis hecho muy bien.

Variables

Tratad de crear una variable donde almacenéis un número cualquiera. Para ello, inicializadla dándole un nombre y un valor.

La imagen muestra una parte de la interfaz de bloques de App Inventor con el menú de la categoría de variables desplegado

Usa "TinyDB"

Programad un botón para que al clicarlo primero borre todo lo que pudiera contener "TinyDB" y a continuación almacene el valor que habéis guardado en la variable.

La imagen muestra una parte de la interfaz de bloques de App Inventor con el menú del componente tinyDB desplegado

Conecta dos pantallas

Además de la pantalla "Pruebas" que acabáis de crear, añadid otra que se llame "Conectada". Seguidamente, cread un botón para ir de la pantalla "Pruebas" a la pantalla "Conectada" y otro para volver a "Pruebas" y programad ambos para que hagan esa función.

La imagen muestra la vinculación, indicada por una flecha verde doble, de dos pantallas de móvil con un botón central cada una que les permite cambiar de una a otra al clicarlo

Pasa el valor de pantalla

La imagen muestra la pantalla de un móvil con dos botones centrados y en medio de ellos una etiqueta que pueda mostrar un número

Tratad de pasar el valor que habéis guardado en la variable que creasteis anteriormente desde la pantalla "Pruebas" a la pantalla "Conectada" para que se muestre en una etiqueta al presionar un botón.

Intentad hacedlo aprovechando el almacenamiento del valor en TinyDB que ya hicisteis anteriormente.

Campo de texto

La imagen muestra la pantalla de un móvil con cuatro componentes centrados, el primero es un campo de texto que tiene escrito hola ¿qué tal estás?, el segundo un botón almacenar, debajo un botón mostrar y finalmente una etiqueta vacía

Tratad de que cuando se clique un botón, se almacene en la etiqueta de "TinyDB" que llaméis "mensaje" el texto que escribáis en el interior de un componente "CampoDeTexto".

Comprueba que se ha guardado creando otro botón llamado "mostrar" que al clicarse active una etiqueta que contenga el texto almacenado en "TinyDB".

Lista

Intentad crear una lista donde poder almacenar día, mes y año de una fecha cualquiera.

Para comprobar si todo ha ido bien, programa un botón para que cuando se clique, muestre en una etiqueta el contenido de la lista.

La imagen muestra una parte de la interfaz de bloques de App Inventor con el menú de la categoría de listas desplegado

Selector de fecha

Tratad de programar que al pulsar un botón se almacene en "TinyDB" la fecha elegida en un componente "SelectorDeFecha".

La imagen muestra una parte de la interfaz de bloques de App Inventor con el menú del componente selector de fecha desplegado

Recuperación de la fecha almacenada en "TinyDB"

La imagen muestra la pantalla de un móvil con cuatro componentes centrados, el primero es un selector de fecha, el segundo un botón almacenar, debajo un botón mostrar y finalmente una etiqueta vacía

Intentad programar un botón para que al clicarlo se muestre en una etiqueta la fecha almacenada en "TinyDB".

Condiciones

Intentad programar las siguientes condiciones:

  • Si un cuadro de texto está vacío activar la visualización de una etiqueta que contuviera el texto "No hay nada escrito" y si no, que se visualice la etiqueta mostrando el texto introducido.
  • Si el valor de una variable es mayor de un número que elijáis o si es igual, debe aparecer una etiqueta inicialmente oculta que muestre el número almacenado y si no, que esconda la etiqueta.

La imagen muestra una parte de la interfaz de bloques de App Inventor con el menú de la categoría de control desplegado para mostrar los bloques de condicionales

Bucles

Tratad de programar los siguiente bucles:

  • Para incrementar en 2 un número guardado en una variable un total de 14 veces.
  • Para multiplicar por 4 el número 5 hasta que supere el valor de 23957.
  • Para dividir 7 veces un número de tu elección guardado en una variable por 2, si un campo de texto está vacío y por 5 si contiene algo escrito.

La imagen muestra una parte de la interfaz de bloques de App Inventor con el menú de la categoría de control desplegado para mostrar los bloques de bucles

La imagen muestra la parte de la paleta de App Inventor 2 correspondiente a la categoría de almacenamiento donde se destaca con un recuadro rojo el componente TinyDB y se tachan los demás con una línea del mismo color

Definición:

Es un componente de App Inventor 2 que sirve para almacenar datos de manera permanente en el propio dispositivo donde se use la app donde se ha empleado.

Ejemplo:

Para que no se me borre la puntuación de mi app de juegos cuando la cierre he tenido que usar un componente TinyDB para almacenarlos.

Escribid en vuestro cuaderno las conclusiones que vayáis obteniendo al realizar lo que se pide.

¿Qué tal va todo?

¡Cuánto trabajo! ¿verdad? y encima complicado. Dan ganas de...

¡Para, para! Te entiendo perfectamente.

Es normal que a medida que avanzas te debas enfrentar a ejercicios más difíciles en los que puede que cometas errores e incluso que no llegues a completarlos satisfactoriamente, es decir, que puede que te superen.

Pero, ante todo, debes pensar que estás aprendiendo y que es normal. Comprobarás que cuando superes las dificultades iniciales, todo es más sencillo. Ese el momento en el que podrás decir que has aprendido.

3. Recuerdo y evocación

Para conseguir alcanzar una meta es importante que seas un buen o buena estratega. Es decir, tener métodos, técnicas, “trucos” para llegar antes o de forma más fácil donde tú quieres.

Ahora te voy a enseñar una estrategia, ¡Aprovéchala para alcanzar tu reto!

El nombre de la estrategia es recuerdo y evocación. Recordar tareas que has resuelto antes, te ayuda a saber enfrentarte a una nueva actividad que sea similar con lo aprendido la vez anterior. Para ello, puedes pensar en las dificultades, las ventajas, qué te fue mejor o qué recursos utilizaste y tomar decisiones que permitan hacerlo mejor que la primera vez.

Podrás encontrar todo lo que necesitas sobre esta estrategia en el siguiente enlace a la guía de la competencia de aprender a aprender.

Tómate el tiempo que necesites y recuerda que siempre puedes preguntarle al docente o a algún compañero o compañera cuando no entiendas algo.

¡Ánimo, seguro que lo haces genial!

4. Primero organizad vuestro trabajo

¿Os sentís preparados para pasar a la acción?

Seguro que sí, pero, en este punto en el que os encontráis, os sugiero que os detengáis un instante para pensar en cómo organizar la programación de las relaciones que definisteis en el apartado de realización de los bocetos.

A estas alturas tenéis claros los componentes que vais a usar y los eventos que definen la misión de cada uno de dichos componentes. Con esta información de partida no es complicado hacer un esquema de la secuencia de instrucciones que vais a necesitar para traducir a bloques de programación.

Recordad que no es la primera vez que lo hacéis y, además, si os fijáis un poco en vuestro trabajo hasta ahora, observaréis que no es otra cosa que una secuencia fija (análisis, diseño y programación) que se podría reflejar en un esquema de forma muy simple.

Por otro lado, también estáis acostumbrados a realizar una serie de rutinas en vuestra vida diaria que siguen una secuencia definida como por ejemplo cuando os levantáis para ir al instituto, a la hora de lavarse los dientes después de comer e incluso la manera en que organizáis vuestro estudio. De forma que si sois capaces de describir los pasos seguidos en esos casos de manera esquemática, no os costará hacerlo en cualquier otro supuesto.

Pues bien, una vez que está claro qué habría que hacer, queda por definir la forma de presentarlo. Para ello, también lleváis tiempo trabajando una técnica muy efectiva, que no es otra que la realización de diagramas de flujo.

Por tanto, en este ejercicio, colaborando en pareja, debéis representar, cada uno en su cuaderno, un diagrama de flujo para cada evento que tenéis previsto crear.

Clavis dice ¿Hablamos de los diagramas de flujo?

Os aseguro que la realización de un diagrama de flujo os va a ayudar a organizar el trabajo que tenéis por delante.

Cuando tengáis un diagrama listo, solo tenéis que seleccionar los bloques que necesitáis para “traducirlo” al lenguaje de programación y así conseguiréis que funcione adecuadamente, ahorrando tiempo a la hora de crear el programa.

¿Necesitas ayuda con los diagramas de flujo?

Por si no os acordáis bien de cómo trabajar con los diagramas de flujo, puedo daros el enlace a un recurso que, sin duda, os será de gran ayuda.

Se trata del apartado "Creo un diagrama" de la "Guía didáctica de la competencia de aprender a aprender".

5. Por fin los bloques

Ya debéis estar impacientes por arrastrar y combinar bloques para conseguir que todo funcione. ¡Hay que ver cuánto habéis tenido que trabajar antes de llegar aquí!, pero ahora podéis aprovecharlo e intentar completar, trabajando en pareja, vuestra agenda escolar digital.

  1. Id al apartado de bloques de App Inventor dentro del proyecto de vuestra agenda.
  2. Utilizad como guía los bocetos de cada pantalla que habéis preparado.
  3. Apoyaros en los diagramas de flujo que habéis asociado a los componentes dados de alta en el diseño.
  4. Intentad programar los distintos eventos que habéis definido para que hagan lo previsto en cada caso.
  5. Haced un breve resumen en vuestro cuaderno de las dificultades que os encontréis en el camino y también de los logros en aquello que hayáis conseguido solucionar.

Lumen dice Si dudáis del funcionamiento, probad

No olvidéis que podéis usar el emulador o AI Companion para ir comprobando si funcionan los pasos que deis a la hora de programar los eventos de vuestra app.

Por tanto, escoged el que más os convenga, hacedle pruebas a lo que habéis programado y tratad de arreglar aquello que no funcione.

Motus dice ¡Date un respiro!

¡Uf! menudo esfuerzo. Todo sea por aprender.

Se que eres consciente de que todo aprendizaje cuesta conseguirlo, pero que ese esfuerzo merece la pena. Ahora estás a mitad de camino, pero ya echas la vista atrás y ves todo lo que has superado. Nada ha conseguido apartarte de tu meta y vas directo al éxito final. ¡Sigue así!