 Bueno, os presento a Miguel. Miguel es profesor de un instituto de aquí de Sevilla. Bueno, él lleva colaborando con nosotros con programamos bastante tiempo y bueno, es un ponente habitual. Lo hemos llevado a muchos cursos y la verdad que es bastante bueno, es un crack. En la parte enseña en ciclo formativo cómo se crean aplicaciones para móviles, ¿vale? O sea que es especialista y experto en estos temas. Así que nada, él os va a explicar un poquito la diapositiva. Va a empezar un poco a explicar pues qué es eso de Apinventor, para que se puede utilizar, etcétera, ¿vale? Y después ya nos pondremos a realizar distinto reto, ¿vale? Vamos a tener este taller y después de comer, vamos a seguir directamente programando apps. Hemos preparado cinco aplicaciones para móviles para que nos la llevemos ya listas y que la podéis utilizar, ¿vale? ¿Alguien ha hecho alguna vez una aplicación para móvil? Bueno, y el resto estaréis orgullosísimos, ¿no? De decir, wow, me voy a llevar, me voy a hacer una aplicación para móvil, ¿no? Todo el mundo, ¿no? Bueno, pues nada, yo voy a dejar con Miguel. Bueno, más o menos ya hemos dicho lo que es Apinventor, pero vamos a empezar por las razones para usar Apinventor, ¿vale? Que en realidad son muy parecidas a las razones que ya habéis visto, supongo, con Scratch, ¿vale? Una de ellas, desarrolla el pens... Ah, que no he dicho el índice, ¿lo decís? ¿Lo comentamos? Bueno, de igual, porque ya más o menos lo has comentado tú. Entonces, una de las principales razones desarrolla el pensamiento computacional. Vamos a hacer que los chavales programen y entonces eso va a fomentar que ellos, su pensamiento computacional, se vaya desarrollando, esa es una de las razones. Por otro lado, es software libre y es totalmente gratuito. No tenemos que pagar ningún tipo de licencia, nada, es igual que Scratch. De hecho, está hecho también por el Instituto Tecnológico de Massachusetts. O sea que, perfecto. Programación visual basada en bloques. En eso, Apinventor también se parece muchísimo a Scratch. Lo que vamos a hacer es ir arrastrando bloques, que nos van con las instrucciones que queramos decirle a nuestra aplicación. Esto va a pasar a nuestra aplicación y nos va a ir permitiendo programar aplicaciones de una forma muy sencilla, que es otra de las razones. Es sencillo de utilizar, es una forma de hacer aplicaciones de una forma, las vamos a hacer de una forma muy fácil. Las aplicaciones, en realidad, para Android, cuando uno las desarrolla de forma profesional, no usa algo como Apinventor. Se usan otras formas, que es lo que, por ejemplo, yo enseño en el ciclo formativo. Pero esto es una forma muy fácil de hacer aplicaciones muy potentes. Entonces, si nosotros no queremos entrar en temas muy complejos de programación, pues podemos hacer nuestras pequeñas aplicaciones de una forma muy sencilla, pero eso no nos va a arrestar potencias. Vamos a poder hacer aplicaciones bastante importantes. Vamos a poder usar sensores del móvil, la cámara, el micrófono, todo el sensor de geolocalización, montones de cosas diferentes, de una forma muy sencilla, ¿vale? Posibilidad de uso en la nube y en distintas plataformas. Es decir, igual que Scratch, podemos guardar los proyectos en la nube, los podemos compartir con toda la comunidad, con nuestros alumnos, con la comunidad educativa, con todo el mundo, en realidad, ¿vale? Y la aplicación, en realidad, no necesitamos ni siquiera instalarla en nuestros dispositivos. Si habéis hecho con Scratch, se puede programar directamente, o sea, usando el navegador y programamos ahí, ¿vale? Es otra de las ventajas. No requiere la instalación de muchos componentes. Posibilidad de exportar y compartir proyectos, ya lo he comentado, y contribuye a desarrollar la creatividad. No solo vamos a consumir la tecnología, que es lo que se suele hacer habitualmente, sino que vamos a, cuando usamos AppInventor, contribuimos lo que hacemos es crear nuevos proyectos, crear tecnología, por así decirlo, ¿vale? ¿Podemos ir pasando, para pasar el de la derecha? A ver, explicas tú esto un poquito. Vamos a comentar algunas aplicaciones interesantes, pero como ejemplo, ¿no? Aplicaciones hay miles y miles que están hechas con AppInventor, pero hemos seleccionado algunas, algunos casos particulares en los que el impacto social es bastante importante. Entonces podemos, digamos, unir lo tecnológico con algo tan humano como es. Bueno, lo que vamos a ver a continuación, ¿vale? Este proyecto lo que hicieron fue utilizar la metodología de aprendizaje de servicios y utilizando AppInventor. Entonces fue una profe, como vosotros, que hizo el curso, creo que hace dos años, también el curso de verano. Y bueno, los ponentes fueron tan buenos que cuando llegó utilizó todo lo que había aprendido con su alumnado, de forma que ellos detectaron que había alumnos con necesidad educativa especiales y quisieron hacerle una aplicación para que pudieran tener ejercicios que no tenían otra forma utilizando el móvil para que hicieran algún tipo de razonamiento, reconocimiento de imágenes, etcétera, etcétera. El proyecto se llama DescoChaos, ellos lo desarrollaron en AppInventor, lo han subido a la Play Store y ahora mismo cualquier persona lo puede desarrollar, ¿vale? Utiliza la metodología de aprendizaje de servicios, la conocéis, ¿no?, la metodología de aprendizaje de servicios en el que digamos que los proyectos que se realizan en el aula van a contribuir de alguna forma a la sociedad, ¿vale? Bueno, y es uno de los ejemplos. Tenéis un poquito más de información en el blog, ¿vale? Aquí en el enlace, si hacéis clic, ¿vale? Ahí tenéis un poco más de información del proyecto. Bueno, otro ejemplo, ese es un ejemplo aquí bastante local, a nivel nacional, y hay más casos, por ejemplo, estas son unas chicas de Texas que hicieron una aplicación para un compañero suyo que era Invidente. Entonces la aplicación les permitía al chico, por lo menos, poder recorrer los pasillos del instituto, el centro educativo en general, sin ningún tipo de problemas. Era una aplicación que le ayudaba a ellos, ¿vale? Más cosas, estas son unas chicas de Moldavia que también hicieron una aplicación que por lo visto allí hay muchos problemas en las zonas rurales que la gente consume algunas veces agua de un pozo o de un sitio pero el agua está contaminada o no es apta para consumo humano y hay muchos casos de hepatitis. Entonces hizo una aplicación, hicieron una aplicación para determinar que fuentes de agua eran aptas para el consumo humano y cuáles no. Era como una comunidad, pues uno había diciendo de aquí no, por tal, por ejemplo ponía una foto del aspecto del agua, el sabor del agua, el color y entonces en función de todos esos tipos de cosas ayudaban a que la gente por lo menos supiera de dónde podía beber y de dónde no, ¿vale? Un caso más. Y esta es una chica de la India que a raíz de una inundación que hubo en la región donde ella vivía, allí en la India pues buscó la forma de conectar la gente que quería donar a hacer donaciones de material, de ayuda humanitaria con lo que realmente se necesitaba porque pasaba muchas veces que la gente estaba deseando ayudar pero a lo mejor donaban mantas y a lo mejor sobraban mantas y lo que faltaban era otro tipo de cosas, en fin. Entonces era una forma de coordinar la ayuda humanitaria que quien necesitara algo supiera en qué almacén o en qué localidad debía ir a buscar ese tipo de cosas, etc. Son simplemente unos ejemplos para que veáis que se pueden hacer aplicaciones de todo tipo, se pueden hacer juegos y tal, pero también se pueden hacer aplicaciones que tienen un impacto social, ¿vale? Bueno, vamos a ver ya un poquito qué App Inventor voy a ir bastante rápido porque lo suyo es que vayamos al grano, ¿vale? a la práctica, pero bueno, por comento un poquito. Plataforma de desarrollo de aplicaciones móviles para dispositivos Android mediante programación visual parecido a Scratch, ¿vale? Vamos a ir arrastrando bloques y vamos a poder construir nuestras aplicaciones. Un instituto tecnológico de Massachusetts, igual que Scratch. Y lo que hemos dicho también antes, cualquiera con muy poco esfuerzo puede desarrollar aplicaciones. Ya lo vais a ver que con muy poquitas instrucciones podemos hacer aplicaciones sencillas, ¿vale? Bueno, a ver, los requisitos. Conexión e internet estable. Porque vamos a programar, nosotros vamos a programar directamente en la nube. Es decir, nos vamos a conectar a la plataforma a través de un navegador. El Chrome, Firefox, por ejemplo, ¿vale? Y ahí es donde vamos a hacer nuestros proyectos. Es imprescindible también tener una cuenta de Google. Normalmente de Gmail, pero podría ser cualquier otra que sea de Google, ¿vale? Google Account. Idealmente deberíamos tener un dispositivo Android, aunque no es imprescindible, pero sí es muy recomendable, ¿vale? Un dispositivo Android para poder probar nuestra aplicación. Se puede probar de otras maneras que vamos a comentar. Pero lo ideal es tener un dispositivo Android y una conexión Wi-Fi en la misma red que el ordenador. Ese es el requisito que nos estamos cumpliendo aquí, que es lo que explicaba antes José Ignacio. Entonces por eso vais a tener que usar el portátil para poder tener el móvil en aquella red y el portátil también en la misma red, ¿vale? Si no es así, hay otras formas de poder usarlo, pero es un poquito más lento, más tedioso, un pelín más complejo. Entonces, nosotros vamos a usar esas, ¿vale? A ver, bueno, vamos a empezar ya. Para acceder a la plataforma, ahí tenéis la dirección a la que tenéis que acceder, ¿vale? Bueno, y si buscáis en Google App Inventor, pues seguramente va a ser el primer resultado de la búsqueda. Entraéis en ese enlace, AppInventor.mit.edu, ¿vale? Entraéis ahí y ya os va a salir esta pantalla, ¿sí? Y cuando estáis en ella, simplemente le dais al botón ese amarillo Create Apps y eso ya os lleva directamente a la zona de desarrollo. Entonces, ahí os pedirá, ¿no? Supongo que os logueéis, si no estáis logueados con una cuenta de Google, os va a pedir o que os registréis, o cuando queramos crear un proyecto, obviamente, le damos ahí, comenzar un nuevo proyecto y tenemos esta pantalla, por así decirlo. Ahora, en esta pantalla, esta es la vista de diseño que se divide en la parte izquierda, veis que tenemos aquí una serie de componentes que son para la interfaz de usuario y para otra serie de cosas. Aquí veis mapas, sensores, ¿vale? Entonces, los elementos que tenemos aquí los podemos ir arrastrando a la pantalla del móvil. Es decir, si nosotros queremos poner un botón, pues arrastramos ahí el botón, lo ponemos aquí y ya tenemos un botón en esta pantalla de la aplicación. ¿Se comprende? En esta parte de aquí podemos actuar sobre los elementos que nosotros ponemos aquí. Es decir, aquí podremos ir cambiando el nombre del botón y otra serie de cosas, ¿vale? Pero en general, esta es la vista de diseño. Luego, cuando nosotros queramos programar lo que hace ese botón, tendremos que ir a la vista de bloques. Para ir a la vista de bloques, tenemos que pulsar en el botón ese que está señalando ahí José Ignacio. Ahí arriba a la derecha que pone bloques justo debajo de nuestro nombre, de nuestra cuenta de usuario. Entonces, cuando pinchamos ahí, nos vamos a esta parte de aquí que esto es muy parecido a lo que tenéis en Scratch. Tenemos, en la izquierda, es donde tenemos los distintos bloques. No es exactamente como en Scratch, pero es muy parecido. Entonces, pinchamos control, lógica, matemáticas. Y tenemos aquí los bloques que los iremos arrastrando a la parte de alienzo este, por así decirlo. Repetir que esto último. Para llegar a los bloques, en el botón este de ahí arriba. El color es la parte de diseño. Bloques, se llega a los bloques. Es así de simple, ¿vale? Y ahora, pues, arrastramos. De aquí, de los bloques que tenemos en la izquierda, los vamos arrastrando a la derecha y vamos con programando nuestra aplicación. Como habéis hecho en el taller de Scratch. ¿Se comprende? Vale. ¿Veis cómo está borrando los bloques? Cuando los queráis borrar, se pueden borrar así. También se puede pulsar botón derecho, borrar bloques o eliminar bloques. Eso lo vamos a ir viendo poco a poco. ¿De acuerdo? Y la parte de arriba, si acaso lo que me queda es decir que la parte de arriba de la... de la no-gurda, ¿no? Ahí, pues, tenemos la parte... ¿Veis que la barra de arriba pone proyectos, conectar, generar? Pues eso es... Con eso, a partir de ahí, nos vamos a poder conectar, o sea, mandar nuestro proyecto al móvil. Podemos guardar el proyecto. Podemos guardar el proyecto. Exportar el proyecto. Guardarlo. Lo iremos comentando también, ¿vale? Y una de las... de las partes que tiene proyectos es Mis Proyectos. En el menú Proyectos, o si nadie le puede dar un momentito, ahí. Proyectos le das ahí a Mis Proyectos y eso ahí es donde te salen todos tus proyectos los que tengas ahí guardado. ¿Vale? Cuando quieras cambiar de proyecto, pues sería ahí. Entonces, la plataforma, como veis, es bastante intuitiva y no es nada complicada, ¿no? Vamos a hacer ya una primera aplicación, ¿vale? Para que veamos lo sencillo que puede llegar a ser hacer aplicaciones con App Inventor, ¿vale? Vamos a hacer una aplicación que no es muy complicada, va a ser nuestra primera aplicación pero nos va a servir para familiarizarnos por lo menos con la plataforma. ¿Vale? Entonces, vamos a hacer una aplicación la que os proponemos que va a utilizar sonidos y botones, por lo menos para que veáis cómo va el tema, ¿vale? Lo que vamos a hacer es poner la imagen de un león y un botón que cuando lo pulsemos lo que haga es el sonido del león el rugido del león, ¿vale? Este sería, más o menos esta sería la aplicación que nosotros queremos montar. Entonces, vamos a poner una imagen y vamos a poner dos botones. Uno, que cuando se pulse salimos de la aplicación y otro, que cuando lo pulsemos lo que haga es el rugido del león, ¿vale? Entonces, la programación que vamos a hacer es esta es muy sencillita, ¿vale? Pero la vamos a hacer nosotros desde cero para que lo vayamos viendo y así paso a paso más fácilmente. Bueno, entonces, por ejemplo, arrastremos la imagen. Vamos a hacer eso lo primero. Entonces, en nuestro componente de imagen lo vamos a poner aquí en la pantalla del móvil, ¿vale? En la imagen. Como veis, al principio, por defecto, te sale con un tamaño determinado. Ahora nosotros podemos tocar ciertos elementos de aquí para decir si queremos que sea más ancha, más alta o lo que sea. ¿Vale? Lo podremos hacer por ejemplo aquí. Si quisiéramos que la imagen sea más ancha le ponemos en vez de ancho automático le podríamos poner ancho que se ajuste al contenedor para que se haga tan grande como el sitio donde se, por ejemplo, la pantalla del móvil tan ancha como la pantalla del móvil por ejemplo, ¿vale? Pero bueno, vamos a meterle primero lo que nosotros la imagen que nosotros queremos que vaya dentro de ese componente. ¿Vale? Porque de momento ahí no hay ninguna imagen de ningún león lógicamente. ¿Vale? Entonces, nosotros aquí veis que en la columna esta tenemos un apartado que es medios y tenemos una posibilidad de subir archivos. Si pinchamos ahí podemos subir un elemento de vídeo, de audio, cualquier tipo de fichero. Nosotros lo que vamos a hacer es subir la imagen del león. Y ya tenemos aquí nuestra imagen de león está en el proyecto. Pero eso no quiere decir que la imagen del león esté asociada a ese componente de imagen. Nosotros lo que hemos hecho ha sido que lo que le hemos dicho a la plataforma es que vamos a usar esa imagen. Pero no le hemos dicho dónde la vamos a usar. Entonces, para decirle que esa imagen le queremos asociar la foto del león, lo que tendremos que hacer es pinchar ahí. Donde pone foto, que por defecto pone ninguno, al pinchar veis que nosotros podemos seleccionar la imagen que tenemos subida. Si no, también la puedes subir desde aquí. ¿Vale? Se le podría dar. Lo que nos interesa es darle a león jpg, que es la foto del león. ¿Vale? Entonces, ya le hemos dado y ya tenemos ahí la imagen. ¿Lo ves? Entonces, ahora ya tenemos hecha una aplicación, pero que no tiene ningún bloque de programación. Simplemente, que si esta aplicación se abre, lo que va a mostrar es la foto del león. No hay botones, no hay nada más. Ahora vamos a añadir los botones. Entonces, los botones lo que queremos hacer nosotros es ponerlos aquí debajo. ¿De acuerdo? Debajo de la imagen. Para poner los botones, lo podemos poner con un elemento que nos va a permitir formatear los distintos componentes que metamos dentro de él. ¿Vale? Es decir, hay un componente que se llama disposición horizontal o algo parecido. Está allí, ¿ves? En disposición horizontal. Eso es un elemento que quiere meter otros elementos dentro de él. Y los elementos que tú vayas metiendo, en este caso, al ser horizontal, los va a ir poniendo uno a continuación del otro en horizontal. O sea, unos a la izquierda, izquierda a derecha de los demás. ¿Vale? Se van ahí poniendo en fila de izquierda a derecha. ¿De acuerdo? Entonces, nosotros podríamos meter ahí nuestros botones. Es lo que estamos haciendo aquí. ¿Veis? Metemos un botón, metemos otro botón y cuando lo ponemos se ajustan, se van poniendo unos a continuación del otro. ¿Vale? De izquierda a derecha. ¿Todo el mundo lo ha visto? ¿Cómo lo hemos hecho? ¿No? A ver, hay un componente aquí en disposición, que sale por defecto, es interfaz de usuario. Hay otro apartado que es disposición. Ahí ponemos disposición horizontal y lo arrastramos a la pantalla del móvil. ¿Vale? Lo tenemos aquí. Ahora lo que hacemos es arrastrar los elementos que nosotros queremos disponer horizontalmente. En nuestro caso son los dos botones. ¿Vale? Entonces podríamos meter ahí nuestros botones. Uno y otro. Lo siguiente que vamos a hacer va a ser añadir un audio. ¿Vale? He visto que alguno de vosotros lo que habéis hecho ha sido dentro de medios. Le damos a subir archivo. Seleccionamos. ¿Vale? Y cogemos ese león punto mp3 que nos hemos pasado. Bien, eso lo que va a hacer es que lo va a colocar dentro de los medios. Pero para poder utilizarlo necesitamos añadir un componente. Ese componente tiene una particularidad y es que el sonido no se ve o nosotros no lo vemos, por lo menos. ¿Vale? De forma que se va a situar en una parte especial que va a ser abajo como componente no visible. Si nos vamos dentro de medios, dentro de los componentes, dentro de la paleta, nos vamos dentro de medios, hay uno que se llama sonido. Mirad lo que pasa cuando yo arrastro el sonido a mi móvil. Fijaros como no se puede colocar en ningún sitio porque no se ve. ¿Vale? No es un botón que lo tengo, no es un elemento que se vaya a ver en mi aplicación. Por eso aparece abajo como componentes no visibles. Y lo tengo como sonido 1. Aprovechamos también este momento para deciros que podemos renombrar cada uno de los componentes que tengamos. ¿Vale? Que os gusta mucho botón 1 y botón 2. Me gustaría que cuando lo vayamos a programa dirás botón 1 que era. Erde ruí o erde salí. Entonces quizás os recomendamos que pongáis botón 1 si va a ser el sonido. Pues que pongáis bt de botón sonido o lo que sea. Para que después podáis verlo mejor. Y ya tenéis el componente. Aquí exactamente igual. Fijaros que siempre es lo mismo. Buscamos el componente, lo añadimos y lo formateamos. Le establecemos las propiedades. En este caso el sonido, ¿sigue Miguel? Sí. En este caso el sonido lo que queremos nosotros es que tenga como sonido el león.mp3. Que es el archivo de audio que acabamos de subir. ¿Vale? Entonces lo único que tenemos que hacer es ahí en el botón, en el apartado este de origen cuando pinchamos en sonido, nos sale aquí origen del sonido. Pues ahí seleccionamos el fichero de audio que queremos que tenga ese sonido. ¿Se comprende? Es así de sencillo. Podríamos poner los botones más bonitos ajustar, tal, cambiar los textos. Pero vamos directamente mejor a los bloques, ¿vale? Entonces, pinchamos en el botón de bloques y ahora lo que vamos a hacer es programar el comportamiento de los botones. Queremos que cuando se pulse el botón del rugido pues que ruja y que cuando se pulse el botón de salir que se salga. ¿Vale? Mira esta parte porque en la parte nueva se programan los bloques, ¿vale? Si no tenemos subido el MPT, no pasa nada. Ahora después vamos a tener tiempo. Vamos a ver cómo se programan los bloques porque es muy parecido a crap pero cambian algunas cosillas, ¿vale? Nosotros lo que queremos hacer es que cuando se pulse el botón 1 que ruja. Entonces nos vamos al apartado de botón, o sea tenemos aquí nuestros elementos, ¿veis? Que pone botón 1, botón 2. Entonces cuando pinchamos en él nos salen una serie de cosas. Cuando botón 1 se haga click cuando botón 1 se haga un click largo, tal, tal, tal. Entonces de ahí es de donde nosotros vamos a arrastrar los componentes que necesitemos, ¿vale? En nuestro caso cuál es el que necesitaremos, el del click. Queremos que cuando se pulse el botón haga algo, ¿vale? Entonces cuando botón 1 se haga click hay que ejecutar algo. ¿Qué tenemos que ejecutar? El sonido, ¿no? El sonido del león, ¿vale? Entonces tenemos aquí nuestro componente de sonido, el sonido 1 que es el que hemos arrastrado, el que hemos subido nosotros, allí, ¿vale? Entonces aquí lo que tenemos que hacer es reproducir el sonido, ¿no? Sería este el que nos interesa. Sonido 1 reproducir. Que cuando se pulse el botón se reproduzca el sonido. Eso sería para el botón 1. Lo que queremos que haga es que salga de la aplicación, pues hacemos algo parecido. Nos vamos al apartado de botón 2 y buscamos el que nos interese, que en este caso es el del click también. Cuando botón 2 se haga click, ahora lo que queremos es que se salga de la aplicación. Entonces eso está... creo que está en screen o en control, no me acuerdo. Hay uno que es finalizar, ¿no? En control. Cerrar la aplicación, ¿vale? Entonces lo que queremos es cerrar la aplicación. En el bloque en la sección de control hay uno que es cerrar la aplicación. Entonces cuando se pulse en el botón 2, bueno, como lo hayáis llamado vosotros, si lo habéis cambiado el nombre pues que se salga de la aplicación. Vale, lo tenemos ya. Bien, vamos a pasar a probar la aplicación. Mira, un segundito solamente. Lo que decíamos al principio hay una acción que es recomendada que dentro de la gente de App Inventor es el método que recomiendan que es... ha de echar un poquito el móvil paulaito que sería la de utilizar lo que vamos a ver aquí, ¿vale? Que sería el... el mita y dos companion, ¿vale? Que es la aplicación móvil con la cual nosotros... vais a ver que simplemente con la conexión inalámbrica podemos pasar y no nos hace falta instalar nada ni nada, simplemente la aplicación en el móvil, ¿vale? El mita y dos companion, ¿vale? Es recomendada. ¿Qué pasa? Que lo que necesitamos en este caso sería la wifi pero es la recomendada porque podemos utilizar todo lo que tengamos en el móvil, sensores, etcétera. Entonces, la machura. Si esa no falla, lo segundo que os recomendamos es que utilicéis el USB, ¿vale? Es decir, que lo conectéis directamente al móvil. ¿Qué ocurre? Que nosotros aquí necesitamos instalar unos drivers que después en el dispositivo configurarlo para que permita que se le puedan pasar. Sobre todo eso, ¿vale? Sobre todo porque hay que configurar el ordenador instalándole cosas y después el dispositivo permitiendo que se le puedan pasar aplicaciones. Se tarda mucho más. En función de la versión que tengáis de Android además hay una opción oculta que es más tedioso, ¿vale? Y después por último tenemos también un emulador. El emulador no hace falta nada. Simplemente podemos ejecutarlo y lo podemos ver. ¿Qué ocurre? Claro, es que no puedo utilizar nada y el sensor de nada. No puedo el giroscop. Yo no puedo utilizarlo para nada, ¿vale? Ni por ejemplo el GPS que tenga el móvil, etcétera. Por lo tanto, nosotros siempre vamos a intentar ir a esta de aquí que es la que vamos a intentar utilizar ahora, ¿vale? A ver si nos sale. Bien, para eso lo que vamos a hacer va a ser nos vamos a ir dentro de nuestra aplicación en el proyecto que tengáis y dentro del menú principal arriba del todo vais a tener el conectar. Ahí tenéis las opciones que os hemos comentado, ¿vale? Y además ordenadas bueno, la primera tenéis el iCompany la segunda, el emulador y el USB. Vamos a intentar entonces nosotros darle al iCompany esa de ahí. Fijaros, cuando nosotros le demos, eso lo que va a hacer es que os va a mostrar un código QR. ¿Vale? En un momentito aquí lo intentáis todo y así yo me pude ir pasando para ver que va funcionando por todo sitio. Bien, lo que me genera es un código QR. ¿Qué es lo que tendría que hacer yo ahora? Miguel lo que va a hacer con su móvil con ese móvil de verdad. Miguel, enséñalo que la gente no se lo cree aquí, ¿vale? Ese móvil de verdad es un móvil Android lo que lo vamos a proyectar ahí por ahí al laito para que se vea. ¿Vale? ¿Vale? El siguiente, ese de ahí. ¿Vale? Ese es el móvil que ahora mismo tiene Miguel, ¿vale? ¿Vale? En ese móvil lo que vais a hacer es que vais a abrir la aplicación. ¿Le vais a dar a generar? ¿Se va a generar ese código QR? Y lo que vais a hacer va a ser abrir la aplicación que os habéis instalado. En esa aplicación le dais a escanear código QR ¿vale? Le voy a dar. ¿Dale? Y escaneamos ese código. Realmente lo del código QR es porque es más sencillo hacerlo, ¿vale? Pero si no, también como genera un código podéis meter el código ahí. Lo que hace con el código QR es pasarle el código, ¿vale? Ya estoy escuchando rujido. Yo creo que vais por delante mía. ¿Todo el mundo va por delante mía? No, ¿no? Vale. Bien, esto tarda un tiempo porque lo que va a pasar es que le estamos pasando ahora mismo todos los recursos. ¿Vale? Bueno, entonces si lo veis pues ya una vez que hemos escaneado el código pues nos sale, eso es mi móvil y tenemos ahí la aplicación. ¿Vale? Entonces ahora ya la podemos probar. Si puenchamos en el botón 1 ¿Está sonando? Si hemos hecho... Si a todo el mundo le ha salido ya en el móvil ¿La habéis conseguido? A ver, levanta la mano ¿Quién? Venga, pues quien no lo haya conseguido. Vale, vamos a intentar pasarnos primero para que a todo el mundo le haya salido el rujido del león y mientras habéis visto que la aplicación oye, deja mucho que desear, ¿eh? Habéis visto que Miguel la daba a texto para botón 1 y ahí tenía que poner rujido o rujido y en la otra a salir. Más los botones estaban a la izquierda. Estaban un poco feos. Vamos a intentar centrarlo. Vamos a darle un poquito y testeamos un poquito mientras. ¿Vale? No nos quedamos parados. Venga, vamos allá. Nos han comentado por ahí, dice, bueno, algunas cositas que podríamos hacer, sería por ejemplo oye, ¿por qué no hacemos aquí el tema del emulador? Porque si nos ponemos a instalar el emulador nos quedamos ya sin el... nos hemos quedado sin el resto del taller pues ya nos quedaríamos casi... Yo he intentado descargarme el emulador son 300 y pico de MEGA para instalarlo. Gastamos un tiempo que ahora mismo no tenemos, ¿vale? Pero si en vuestras clases os pasan cosas parecidas yo en mi experiencia no ha dado tanto problema siempre con el A2 Companion, pero es verdad que tú en tu clase controlas un poquito. O sea, es la wifi de tu centro. No es una wifi de la universidad. Yo he ido mucho sitio dando cursos y siempre me falla la universidad, siempre. ¿Vale? Aquí en la Pablo de la Vide pues me falla. No sé qué, falla. ¿Vale? Siempre hemos traído, por si acaso, pero bueno, no podemos controlar cómo el móvil pueda tener algo que no... Aquí hay muchos factores, ¿vale? Bien, bueno pues... Hasta ahora nosotros lo que hemos visto es cómo se podía generar y cómo lo podemos probar en el móvil. También otra de las preguntas que me hacíais es el tema de... Bueno, pero esto realmente cuando yo lo doy a cerrar la aplicación no se cierra y esto porque realmente no estamos instalando una aplicación en el móvil, ¿vale? Estamos programando una aplicación para que la pueda utilizar, pero no la estamos instalando. Estamos con una aplicación haciendo como una previsualización, por decirlo de alguna forma, ¿vale? Con lo cual no es una aplicación instalada. ¿Pero la podemos instalar? Sí, ¿vale? ¿Qué ocurre? Que el tema de seguridad con respecto a las aplicaciones es bastante estricto. Quiere decir que si nosotros quisiéramos esa aplicación ponerla disponible para cualquier persona tendríamos que subirla a la Play Store, ¿vale? Para subirla a la Play Store tiene que pasar unos filtros, bueno, tenemos que pagar y tiene que pasar unos filtros, etcétera, ¿vale? y todo eso tarda, pero cuando lo hagamos así lo podemos instalar sin problema en el móvil. ¿Existe otra forma? Sí, nosotros nos podemos descargar un fichero que lo tenéis en generar, tenéis por ahí por el menú en generar y os va a decir algo así como generar el formato APK, ¿vale? Ese formato APK es, digamos, el formato que tienen las aplicaciones Android y eso lo vamos a poder instalar en los dispositivos. Pero no es tan sencillo, si vosotros lo copia porque bueno, pues yo lo copio en el móvil, me lo paso por tal y lo voy a poner, pero por defecto eso está deshabilitado. Tenéis que ir a la configuración del móvil para permitir que se puedan instalar las aplicaciones, que no sean de la Play Store. ¿Vale? Bien, entonces lo que vamos a hacer en la media ahorita cortita, que nos queda va a ser intentar, por lo menos, construir la segunda aplicación, ¿vale? Hemos dicho que teníamos cuatro, hemos empezado por la más sencilla, nos ha consumido casi todo el tiempo. Vamos a empezar con la siguiente. No lo puedo probar en el móvil, da igual. Vamos a intentar hacerlo aunque sea en el ordenador, no lo podemos probar en el móvil, pues nos miramos en el dar laos a ver cómo le sale a él o cómo lo está probando a él, ¿vale? a él, a ella. Bien, entonces, lo que vamos a hacer va a ser una aplicación de preguntas y respuestas. Bueno, esto es lo que he contado un poquito, ¿vale? He contado que se puede meter dentro de la Google Play. También hay otras tiendas que son alternativas como son el Amazon App Store o bien Aptoid y otra cosa, que es publicarlo dentro de la Galería de App Inventor. Para que os hagáis una idea, la Galería de App Inventor funciona como si fuera la comunidad de Scratch donde yo le daba a compartir. ¿Os acordáis? Poníamos un proyecto, le dábamos a compartir y ahora ya eso estaba disponible para todo el mundo. Bueno, pues aquí podemos hacer lo mismo, ¿vale? Nosotros podemos irnos a la ventana de mis proyectos, que os aparecen todos los proyectos que habéis programado, uno o dos, o el que haya utilizado todos los proyectos, podemos seleccionar el proyecto y publicar en la Galería, ¿vale? Eso lo que hace es que esté disponible, rellenamos un iconito, rellenamos algunas cosas y va a estar disponible para que cualquier persona pueda copiársela, ¿vale? Pueda descargársela y pueda verla por dentro, ¿sí? Pasamos a ver la segunda aplicación que sería una aplicación de preguntas y respuestas, ¿vale? Es una aplicación sencilla, que hemos visto interesante porque es verdad que se puede utilizar en cualquiera sin natura, ¿vale? Siempre podéis hacer una aplicación de preguntas y respuestas de la materia que hayáis dado, ¿bien? En este caso, lo que vamos a utilizar va a ser dentro de la vista de diseño lo que utilizaríamos sería, os lo ponemos aquí y vosotros ya que soy experto y experta de este tema ya sabéis cómo tenéis que crear esto, ¿vale? Vamos a crear dentro de Screen 1 le vamos a meter ahí lo que es una etiqueta lo vais a ver en la parte izquierda, ¿vale? como etiqueta, lo vamos a arrastrar y la etiqueta va a ser esto de aquí, ¿vale? Dentro de las propiedades de este elemento habrá uno que diga cuál es el texto para la etiqueta y nosotros le pondremos aquí ¿vale? Ahí nosotros le pondremos en qué provincia se encuentra la torre del oro o lo que queráis, ¿vale? Una pregunta ¿sí? Después lo que vamos a meter es una disposición horizontal, que ya la conocemos y le vamos a meter cuatro botones, ¿vale? que serían estos cuatro de aquí ¿vale? Hasta ahí sí, ¿vale? Venga, pues vamos a intentar programar todo eso, vamos a ir a proyectos generamos un nuevo proyecto que le llamamos las respuestas y vamos a generar algo como esto, venga, vamos allá Bien, una cosita que tenéis que añadir va a ser un componente no visible ¿vale? Porque vamos a aprender en este segundo proyecto cómo se puede almacenar los datos en una base de datos, ¿vale? una base de datos no es otra cosa como cuando ayer veíamos las listas es un componente en el que vamos a poder almacenar información, ¿vale? pues en la posición 1 almacenaremos tal valor, en la posición 2 tal valor etcétera, etcétera, ¿vale? bien, eso lo vamos a encontrar dentro de almacenamiento si nos vamos para abajo dentro de la paleta en almacenamiento tenemos distintas posibilidades bien, pues vamos a coger el Tini BD este es de aquí y este es el que vamos a lanzar hacia la pantalla no vamos a poder verla con lo cual va a ser un componente no visible y ya directamente con todo esto vamos a lanzar, ¿vale? a la programación de bloqueo ¿tenéis todo eso? ¿pasamos todo el mundo a la programación de bloque? si? venga, vamos allá lo que tenemos que hacer es que cuando se pulse el botón 1 pues lo que queremos hacer que es darle un punto al usuario por ejemplo, es la forma en la que nosotros hemos decidido hacer la aplicación darle un punto más y que vaya a la siguiente pregunta eso es lo que tendremos que hacer y con las otras preguntas simplemente lo que haremos es que si falla pues que vaya a la siguiente pantalla y no le sume ningún punto ¿se entienden? bueno, entonces vamos a intentar hacer eso ¿vale? entonces, en la programación de bloqueo lo que hacemos es, nos vamos allí al botón 1 y tenemos que buscar el de cuando se haga click en el botón ¿vale? y ese es el que arrastramos bien, lo que queremos hacer que es ir guardando la puntuación en la base de datos que tenemos que coger en el caso general bueno, si esta es la primera pregunta podríamos decir bueno, meter en la base de datos un punto ¿se entienden? vamos a tener en la base de datos una etiqueta puntos donde vamos a ir acumulando los puntos que va sumando el usuario entonces, en la primera pantalla podríamos decir sumar ponerle un punto pero el caso general sería coger los puntos que tenga guardados y sumarle uno y guardar ese nuevo valor en la base de datos ¿vale? ¿se van entendiendo? ¿si? venga pues entonces, hemos puesto aquí esto y ahora nos vamos allí al componente de tiny vd1, que es la base de datos y por ejemplo, si queremos coger el valor que ya tiene, cogeríamos este bloque de aquí obtener valor de la etiqueta que nosotros le digamos ¿vale? y si la etiqueta esa no existe le damos un valor es decir, si la por lo que sea la etiqueta puntos no está creada previamente nosotros lo que queremos es que entonces que en vez de que falle porque nos diga que la etiqueta puntos no existe pues si la etiqueta puntos no existe voy a considerar que lo que he cogido es cero puntos, que lo que había dentro es cero puntos, ¿se entienden? eso es lo que vamos a hacer ¿vale? entonces tenemos esto, obtener valor de la etiqueta puntos y si no existe le damos valor cero eso es para recoger el valor y el bloque este de guardar valor, lo que va a hacer es guardar el nuevo valor en la base de datos que emprende veo cara rara vamos a hacer, yo creo que mejor lo hacemos sumándole un 1 al principio ¿no? y más fácil entonces cuando haga click podríamos decir que cuando haga click en el botón de la respuesta correcta que le ponga valor a guardar 1 en la etiqueta puntos porque eso es lo que queremos ¿se entienden? ¿ve la diferencia entre uno y otro? es que es llamar y este que es llamar parece que los dos son 1, lo que hace es recuperar la base de datos puede almacenar un montón de cosas entonces lo que nosotros vamos a hacer es que los vamos a almacenar todo en un sitio que vamos a llamar puntos, eso es lo que Miguel está diciendo etiqueta, ¿vale? entonces como yo puedo guardar un montón de cosas la base de datos puedo tener una cosa que se llame puntos otra cosa que se llame vida otra cosa que se llame un montón de valores entonces lo que vamos a hacer lo primero vamos a decidir qué etiqueta vamos a utilizar y vamos a llamar puntos ¿vale? para poder crear esa etiqueta eso es un texto no es otra cosa, entonces si nosotros nos venimos aquí a texto vamos a poder crearle aquí la etiqueta que queramos y es simplemente ponerle un nombre ¿vale? es un campo de texto si nosotros le decimos aquí por ejemplo puntos es como cuando en scratch nosotros estamos creando una variable lo que pasa es que aquí es como se pudiera almacenar mucha variable ¿vale? y no hay que crearla simplemente con la etiqueta de esta forma fijaros que yo si quisiera guardar un valor en la base de datos le digo con qué nombre quiero ponerle como si fuera una variable puntos y qué es lo que quería guardar imaginemos que es un punto pues dentro de matemáticas vamos a tener un valor en vez de texto numérico y imaginemos que ha acertado la pregunta pues yo lo que almacenaría en la base de datos en ese sitio que he llamado puntos sería un 1 ¿vale? es decir, yo llamo a la base de datos guardar valor vamos a llamarlo puntos y este es importante que siempre recordemos que este es el nombre que vamos a asignar ¿vale? siempre tenemos que utilizar ese mismo nombre puntos y le vamos a asignar un 1 cuando yo lo asigno un 1 fijaros estamos en la primera pregunta posteriormente después de eso cuando responda la primera pregunta lo que haremos será pasarle a una segunda pantalla y vamos a aprender ahora en AppInventor cómo se van creando distintas pantallas hasta ahora creo que solamente os aparece a todo el mundo screen 1 ¿es verdad? bueno pues lo que vamos a hacer es crear un screen 2 que es una segunda pantalla cuando navegáis en aplicaciones muchas veces le dais un botón, le dais a cualquier cosa y te abre otra ventanita ¿vale? pues eso es lo que vamos a hacer ¿vale? bien entonces nosotros podemos decir como estamos en la primera pregunta ¿vale? lo que nosotros vamos a hacer es simplemente aquí no hay ningún punto ¿sí? solamente porque en la primera pregunta no puede tener ninguna puntuación para empezar a jugar con lo cual si pulsa el botón 1 y me están mirando por allí me están diciendo ¿y por qué el botón 1? y no el botón 2 y el botón 3 y el botón 4 porque ¿cuántos kilos son mis gramos? 1, por lo tanto el 1 está en el botón 1 ¿vale? por eso lo estamos programando aquí ¿vale? en la respuesta que vaya a ser la correcta ¿vale? mi respuesta correcta será esta de aquí por lo tanto cuando me pulse ese valor yo lo que quiero es que le pongo un punto estamos en la primera fijaros solo con eso lo que voy a hacer es que la base de datos va a crear esa como si fuera una variable va a crear esa etiqueta puntos y le va a poner ahí un 1 y eso lo deja almacenado ¿se entienden? ¿vale? bien, lo que dice Miguel es que posteriormente en la segunda pregunta yo ya no le puedo decir asignar a la etiqueta puntos 2 porque yo no sé si la primera pregunta la ha acertado o no la ha acertado entonces ¿qué es lo que tendremos que hacer en la segunda pregunta? tendremos que obtener de la base de datos el valor que tenía puntos y sumarle 1 ¿estás conmigo? ¿sí? ¿te acuerdas? ¿vale? por lo tanto en la siguiente no en esta en la siguiente lo que haremos será llamar a la base de datos para obtener esta misma etiqueta que nosotros tenemos aquí de puntos ¿vale? esta misma etiqueta ¿vale? y lo que Miguel está diciendo aquí es que si el valor de la etiqueta no existe ¿vale? pues aquí le podemos poner un valor para que lo cree ¿vale? que le pueda poner aquí en este caso como nosotros no estamos utilizando texto y estamos utilizando números pues nos iríamos aquí a matemáticas y le pondremos un valor 0 ¿vale? esto porque se hace así porque imaginemos que en la pregunta 1 en la primera pregunta la que estamos probando nada mismo ¿vale? imaginemos que ahí no ha acertado yo no he metido nada en base de datos por lo tanto los puntos no existen ¿vale? con lo cual en la segunda pregunta lo que tenemos que hacer es que si yo no he creado esa etiqueta que la cree y que le pongo un 0 ¿vale? inicialmente ¿lo entendéis? ¿vale? pero como esto es avanzarnos al futuro y nosotros estamos en el presente, esto lo borro y con esto debería de funcionar y deberíamos de tener un punto ¿vale? esto es lo que necesitamos hasta ahora cuando lo hagamos al botón 1 que me sume un punto en la etiqueta ¿si? ¿vale? ¿qué pasará cuando yo presiono el 2 y el 3 o el 4 el resto de botones se tiene que pasar a la siguiente ventana pero claro, antes de decir que se pasa a la siguiente ventana ¿qué tenemos que hacer? crear la ventana ¿vale? para ello entonces nos pasaríamos dentro del diseñador y ¿cómo se crea una ventana nueva? es muy sencillo, mirad si le damos aquí, aquí tenemos los electores de ventana que tenemos que solamente es screen 1 la que tenemos y le damos aquí añadir ventana ¿vale? y le podemos poner un nombre cuando le demos a aceptar no os preocupéis porque nos ha borrado nada este electores de ya se me ha borrado todo ¿no? lo que pasa es que ahora mismo estoy visualizando la pantalla de screen 2 puedo volver otra vez al 1 y lo tengo todo ¿vale? lo tenemos todo bien, en esta pantalla de screen 2 podemos volver otra vez a poner una segunda pregunta donde preguntemos lo que sea con mis 4 botones y después lo iremos a programar ¿sí? ¿vale? se entiende más o menos entonces como dirían con las dos preguntas ¿vale? lo que sí podemos avanzar ahora es que yo me puedo ir al screen 1 me puedo ir dentro de los bloques y ahora sí que le puedo decir oye cuando le de al click este ¿vale? por lo menos que se pase a la segunda pregunta por lo tanto ahí sí que nosotros le podríamos decir que pase al siguiente screen ¿vale? entonces lo que vamos a hacer va a ser vamos a crear una nueva ventana y vamos a generar una nueva pregunta y nada más que lo tengáis y generamos esto en el screen 1 ¿vale? y nada más que lo tengáis ya programamos el paso de una a otra y cómo se recupera el valor de la base de datos ¿vale? por lo tanto taría que tenemos ahora metemos esto de código dentro de bloques generamos la segunda ventana y ponemos una nueva pregunta de la misma forma que lo teníamos hecho en la pantalla primera ¿vale? y cuando lo tengáis ¿vale? volvemos otra vez y modificamos los bloques ¿hacemos eso? bueno, vamos a retomarlo por donde lo habíamos dejado ¿no? estábamos programando las respuestas, los botones de las respuestas y si nos vamos a la pantalla de bloques en el screen 1 sí habíamos programado el botón 1 ¿vale? tenemos que programar el resto de los botones el resto de los botones van a ser muy fáciles de programar simplemente lo que tenemos que hacer es algo parecido a lo que estamos haciendo aquí pero lo que vamos a guardar es un 0 y, o bueno, vamos a inicializarlo ¿no? entonces, simplemente podemos pasar a la siguiente pantalla sin puntos ¿de acuerdo? o sea, podemos hacer cuando se pulse el botón 2 cuando se haga click en el botón 2 en el botón 3 en el botón 4 lo que tenemos que hacer es pasar a la siguiente pantalla a la siguiente pregunta ¿de acuerdo? no hay que sumar un punto, no hay que ponerle un punto, vamos a tener 0 puntos pero entonces también tendríamos que hacer una cosa tenemos que decir que cuando empiece la aplicación que de entrada borre la etiqueta puntos o que la borre o que ponga un 0 en la etiqueta puntos es decir, porque en la base de datos se guarda toda la información si ejecutamos la aplicación una vez la volvemos a cerrar y al día siguiente la volvemos a abrir retomaría los puntos que hubiera guardado de la partida anterior porque se van conservando no es como una variable en ese sentido las variables cuando tú ejecutas la aplicación no guardan el valor de las ejecuciones anteriores pero este componente que es la base de datos, si lo que podemos hacer es que cuando se inicialice la pantalla que cuando la pantalla arranque, por así decirlo que cuando se empiece a mostrar la pantalla esa lo que se haga es guardar en los puntos el 0 ponemos a 0 los puntos y luego si pulsan el botón de la respuesta le damos un punto y si pulsamos en algún botón de las otras respuestas no hace falta hacer nada porque ya habíamos guardado un 0 de entrada todo el mundo lo comprende vamos entonces y lo programando poco a poco nos habíamos quedado aquí voy a borrar lo que habíamos hecho yo creo que nos habíamos quedado aquí todo el mundo estamos aquí cuando se pulsa el botón 1 sería la respuesta correcta aquí nos habíamos quedado en que íbamos a tener un sitio que se llamaba puntos y ahí vamos a tener un 1 hasta ahí sí, ¿verdad? y justo nos habíamos quedado que yo no sé si lo habíamos explicado el de pasar a la otra pantalla, habíamos visto de donde se saca esto no, entonces estamos perdidos pero es muy fácil porque nos vamos a control y dentro de control vais a tener uno a abrir otra pantalla y querrá un nombre de pantalla venga a buscarlo por ahí porque está ahí dentro de control venga tiene que estar un poquito más para abajo lo veis no lo veo yo abrir otra pantalla, nombre de la pantalla esta de aquí, ¿vale? venga pues la cogemos y la ponemos aquí y lo que tendríamos que meterle lo siguiente sería un campo de texto eso ya lo sabemos, eso nos vamos aquí a texto y la primera arriba del todo tenemos aquí el campo de texto aquí lo que tenéis que tener cuidado es en escribir el nombre exactamente igual que ya hay asignado a la pantalla que si no lo habéis puesto en nada nuevo igual que yo, si igual de creativo que yo crear pantalla, ¿y ok? tendrá screen 2, ¿sí? ¿hay alguien creativo creativo en la sala? todo el mundo tenemos screen 2, perfecto, genial vale, por todo el mundo nos pasamos entonces a screen 2 fijaros, ya cuando sale la primera pregunta si yo acierto va a ir a la segunda pantalla ya eso funciona, pero ¿qué ocurre cuando yo presiono el botón 2? el botón 2 tendremos que pasar también a la siguiente pantalla no voy a guardar puntos y pasa o porque se pueden programar las cosas de muchas formas o podemos almacenar el valor 0 ¿sí lo veis, no? es decir, yo puedo hacer las dos cosas ¿vale? decía Miguel que quizá lo bien mejor así yo quizás, quizás es verdad, lo bien mejor así entonces, si desde aquí le damos a tu botón derecho duplicar me va a generar un error pero porque él detecta que tengo dos programaciones iguales del botón 1, pero yo nada más que le personaliza aquí le ponga el botón 2 aquí ya simplemente le tengo que poner un 0 ya ha desaparecido el error, así sí ¿lo veis claro así? claro, cuando yo presiono el botón 2 quiero lo mismo, pero que me almacen un 0 lo mismo será con el botón 3 y lo mismo será con el botón 4 duplico, duplico, vuelvo a poner aquí botón 2, botón 3, botón 4 y un 0, ¿sí? venga, lo hacemos eso un minutito hemos dicho que para el botón 1 que es la respuesta correcta, guardamos un 1 en la etiqueta puntos y para los demás botones, cuando se pulsen guardamos un 0, esa es la única diferencia, ¿vale? entonces, ya tenemos y bueno, por supuesto, pasamos a la siguiente pantalla que es screen 2 entonces, ya tenemos la programación de cada uno de nuestros cuatro botones con eso la pantalla 1 en principio la tendríamos ya resuelta, ¿vale? ahora tenemos que programar la pantalla 2, entonces para programar la pantalla 2, ahí en el selector nos vamos a screen 2 ¿de acuerdo? y aquí tenemos que programar qué es lo que se tiene que hacer cuando se pulsen los botones de la respuesta de la pregunta 2 es decir, en la pantalla 2 lo que tenemos es otra pregunta con otras posibles respuestas y tenemos que programar qué pasa cuando se pulsan cada una de esas respuestas, ¿vale? en el caso a lo mejor la respuesta válida cuál va a ser no tenemos la 2 decidimos que la respuesta válida en la pregunta 2 es el botón número 2 ¿vale? entonces, ¿qué tendremos que hacer? lo que habrá que hacer es sumarle un punto a los puntos que ya llevará de la pantalla anterior, no sabemos cuántos llevará porque puede que haya pulsado el botón 1 puede que haya pulsado el botón 2, pero nos da igual lo que tenemos que hacer es recuperar la información que haya en la etiqueta puntos es decir, ver cuántos puntos hay ahí puede que haya 0, puede que haya 1 lo que sea y a esa información sumarle 1 si ha pulsado en la respuesta correcta de esta nueva pregunta ¿se comprende? ¿vale? entonces, tenemos que recuperar la información de la etiqueta puntos y a eso, en función de si ahora ha acertado o no, le sumamos un punto o no hacemos nada, no hay que sumarle nada porque si ha fallado, no hay que sumarle nada así que con los mismos puntos que tenía antes ¿vale? entonces, ¿cómo recuperamos los puntos que ya llevaba? nos vamos al componente otra vez de la base de datos y ahí tenemos un bloque que es este de obtener valor ¿vale? lo que tenemos que hacer es obtener el valor de la etiqueta puntos es decir, la variable entre comillas lo de variables, ¿de acuerdo? la variable puntos lo recuperamos poniendo ahí en etiqueta tenemos que poner el mismo nombre que habíamos puesto anteriormente que creo que era puntos exactamente el mismo nombre entonces, ponemos ahí puntos ¿y qué pasa si la etiqueta puntos no está creada o lo que sea? bueno, le decimos que si no existía, le damos como valor 1, 0 ¿se comprende este bloque? esto sirve para recuperar o sea, para obtener la información que haya guardado en puntos así vemos los puntos que lleva el usuario en ese momento ¿sí? bien entonces, cuando se pulse en el botón 2 que es la respuesta correcta lo que habrá que hacer es sumarle 1 a esto ¿vale? ¿cómo le sumamos 1? ¿sí? en la sección de matemáticas cogemos el bloque de sumar lo arrastramos y ahora, una de las cosas que hay que sumarle es esto, claro hay que sumarle esto más 1 ¿sí? entonces, el 1 lo cogemos de allí bueno, por un 0, pero eso lo podemos cambiar lo cambiamos por un 1 ¿vale? entonces es el nuevo resultado que tendrá el usuario si acierta la pregunta es decir, cuando pulse en el botón 2 que es la pregunta, la respuesta válida ¿vale? ahora lo que habrá que hacer es guardar esto lo mismo que habíamos hecho antes que guardábamos un 1 pero ahora claro, en vez de guardar un 1 lo que hay que guardar es uno más lo que llevara eso es lo que hay que guardar entonces, para guardar vamos a volver a hacer lo mismo nos vamos al componente de la base de datos guardar valor y ahora la etiqueta en la que hay que guardar el valor ¿cuál será? puntos nuevamente y lo que guardamos es todo esto de aquí a ver, recordad que en la pantalla 2 en screen 2 tenéis también que arrastrar el componente de la base de datos es decir, el componente base de datos en la pantalla 2 también lo tenéis que poner en el apartado de diseñador de diseño ahí tenéis que arrastrar el componente tini bd1 aquí en pantalla os he puesto os he seguido poniendo cosillas por si acaso queréis avanzar un poquito más vamos a crear solamente la última pantalla que sería la de, yo la he llamado fin esa nueva ventana vamos a añadir ventana le podéis poner el nombre de fin y lo que nos quedaría simplemente sería programar esa tercera ventana vamos a tener dos ventanas cada uno con una pregunta y una última ventana donde vamos a mostrar el resultado por lo tanto esa es la ventana que yo he llamado fin y en el screen 2 lo he programado para que en cualquiera de los casos pase a esa ventana fin esto lo tenéis? lo habéis visto aquí lo habéis copiado? sí si no habéis creado la ventana nos iríamos a añadir nueva ventana y le pondríamos como nombre fin aquí le pondríamos en vez de screen 3 le pondríamos fin y con eso ya estaríamos aquí en la última parte antes de programarlo nos tenemos que pasar al diseño de esa ventana como ha dicho Miguel necesitáis siempre meter la base de datos para poder utilizarla en esa ventana y vamos a simplificarlo simplemente vamos a tener una ventana en el que nosotros tu puntuación es y metemos la puntuación solamente eso, la última ventana es para mostrar la puntuación bien, para hacer eso lo que vamos a utilizar va a ser una etiqueta vamos a añadir una etiqueta no le voy a poner ni formato no le vamos a poner nada simplemente arrastramos una etiqueta sobre la marcha conforme lo vamos a explicar añadimos por lo tanto resumo, hemos añadido la base de datos y ahora hemos añadido una etiqueta estamos aquí? le vamos a quitar el texto de la etiqueta ese texto que pone texto para etiqueta 1 este de aquí se lo vamos a eliminar ese lo quitamos fuera y no va a aparecer nada no os preocupéis porque lo que vamos a hacer es que nada más que se cargue nada más que se inicialice esa ventana, lo que vamos a hacer es que se cargue ahí el valor por lo tanto de momento lo podemos quitar bien, y nos vamos a pasar a los bloques bien, en estos bloques lo que tenemos que hacer es simplemente mostrar el resultado para eso, vamos a utilizar si nos vamos dentro de la ventana fin, aquí podemos utilizar el cuando fin inicializar que básicamente esto lo que hace es cuando se abre esa ventana una vez que se abre esa ventana lo que vamos a hacer es meter en la etiqueta el texto esta de aquí no la hemos utilizado todavía pero son bastante útiles, estos colores verdecitos un poquito más claros, un poquito más oscuros lo que nos van a permitir va a ser lo siguiente habéis visto que de cada uno de los componentes yo tengo un montón de propiedades que se pueden personalizar bueno, pues esas propiedades las puedo poner directamente aquí o bien por código esas verdecitas que veis para recuperar el valor que se tiene de esa propiedad no sé si la más clara o la más oscura siempre de dudas, pero bueno, las claras y las oscuras nos sirven para poner un valor en cada una de esas propiedades bueno pues la propiedad que yo quiero cambiar cual sería, sería la de texto la que tiene allá el lado Miguel texto, esa de ahí, ahí lo que yo le quiero poner es tu puntuación es coger de la base de datos la puntuación vamos a terminar ¿lo veis claro? nos vamos a ir entonces a los bloques lo vamos a programar, Miguel ¿cómo hacemos eso? tenemos que irnos a la etiqueta donde queremos poner eso en este caso, etiqueta 1 y habrá que coger una de las de color oscuro poner etiqueta 1 y ahora buscar la propiedad aquí que sea texto de todas formas en todas estas se pueden cambiar hay un listado enorme, luego desde ahí aunque cojáis otra que no es la adecuada, luego lo podéis cambiar con la lista esa desplegable poner etiqueta 1, texto ¿cómo? que habrá que poner ahí tu puntuación ha sido y el número de puntos eso será una concatenación de dos cadenas queremos poner la cadena, tu puntuación ha sido dos puntos dos puntos no que son los puntos sino un puntito y otro puntito y a continuación el número de puntos que tiene entonces nos vamos al apartado de texto cogemos el bloque de unir y ahora tenemos que unir dos cadenas una será la cadena tu puntuación ha sido vale, entonces cogemos el bloque ese para poder poner una cadena y escribimos ahí tu puntuación ha sido y dejamos un espacio ponemos dos puntos, algo así y ahora eso hay que concatenarlo con qué? con el número de puntos que tenemos en la base de datos o sea que hay que volver a leer los puntos de la base de datos igual que habíamos hecho anteriormente entonces cogemos el bloque de obtener valor de la base de datos el mismo que habíamos usado antes ponemos ahí que la etiqueta de la que queremos obtener el valor es puntos y ya lo tendríamos, le ponemos un 0 por si la etiqueta no existe pero con eso la teoría debería funcionar pues con esto ya directamente tendríamos programada lo que sería la aplicación completa yo creo que no se nos ha pasado nada Miguel con esto en principio cuando nosotros iniciemos la aplicación saldría el screen 1 la iniciamos poniendo el screen 1 si nosotros le diríamos conectar y compaños la probamos, no yo creo que no hace falta si la estáis probando, lo podéis probar ahora si no simplemente terminar de copiar esto y así podemos pasar ya a la siguiente aplicación ha quedado claro más o menos como se utiliza esto parece que esto es complejo, es una base de datos señores que estamos metiendo ahí una base de datos pero ha quedado más o menos claro aquí lo importante es que se llama se almacena y se pasa en el reto 3 lo que vamos a hacer va a ser hacer una aplicación para leer Códigos QR Códigos de barra o Códigos QR y ese nuevo proyecto le ponéis el nombre que queráis, nosotros lo hemos puesto lector QR os resumo un poquito los componentes, mirad, ya sí que vamos más rápido porque ya realmente ya sabéis dónde están los componentes, sabéis cómo localizarlos las propiedades, etcétera los componentes que vamos a necesitar para esta aplicación son los siguientes solamente vamos a tener una ventana un botón que le vamos a poner como texto texto leer Códigos QR un botón que tendríamos ahí arriba después vamos a tener una etiqueta ese etiqueta lo que va a capturar es una vez que yo haya pasado con mi móvil el Código QR ese Código QR realmente lo que contiene lo que vamos a hacer es que contenga una URL una dirección, por lo tanto esa URL una vez que la lea la va a meter aquí en texto leído por lo tanto vamos a utilizar también un componente como desde el móvil necesitamos ver el Código QR vamos a necesitar la cámara esa cámara, ¿vale? la vais a tener que añadir la cámara no, perdón, el lector de Código de Barra ¿vale? que sería aquí, ¿vale? es un componente que tenéis que es no visible y lo vamos a meter aquí, ¿vale? ese componente del lector de Código de Barra va a hacer uso de la cámara, ¿vale? ya lo veréis, bien y después también lo que le vamos a meter va a ser un visor web ese visor web lo que va a permitir es que cuando leamos ese texto se pueda cargar aquí abajo la página web para que directamente la veamos por lo tanto la aplicación yo le daría el botón eso lo que haría sería mostrarme la cámara del móvil le pasaría el Código QR aquí se me pondría la dirección que se le en el Código QR y aquí la página web ¿Lo habéis entendido? ¿Sí? ¿Lo habéis claro? Vale, lo repito entonces una aplicación donde cuando yo le pulso un botón lo que me va a salir va a ser la cámara para que yo escane un Código QR igual que el Mitaidos Companion le da a utilizar un Código QR y eso abre la cámara vosotros escaneáis el Código QR y que se os pone un texto, ¿verdad? vale, pues ese texto nosotros lo vamos a cargar aquí es como si hiciéramos un Mitaidos Companion igual, ¿vale? con la diferencia de que nosotros vamos a meter aquí un visor web un visor web es un componente que me permite cargar una página web aquí ¿vale? como si fuera un pequeño navegador y lo metemos aquí, bien entonces lo que vamos a hacer es que en este visor web lo que vamos a mostrar va a ser el texto que hayamos leído que será una dirección de internet esto se aprende haciéndolo, ¿vale? con lo cual vamos a crear un nuevo proyecto vamos a meter todos esos componentes y le vamos a dar a la propiedad de los valores que más o menos creáis para conseguir algo como esto de aquí, ¿vale? nos vamos a meter a los bloques y mira que sencillo mira los bloques tan sencillos que necesitamos para esta aplicación, ¿vale? lo que necesitamos simplemente sería fijaros, cuando yo presione el botón 1, es decir, cuando yo presione ese botón de aquí, lo que yo quiero es que se lean los códigos los códigos de barra o los códigos QR bueno, pues eso simplemente me tendré que ir al elemento leer código de barras 1 y voy a tener ahí la posibilidad de poder llamar al ejecutar scan que va a ser para escanear, ¿vale? solamente con esas dos instrucciones voy a conseguir que en mi móvil se abra la aplicación para poder escanear el código de barras y se va a escanear código de barras, código QR, ¿vale? y se va a escanear ¿Qué ocurre que cuando yo haya obtenido el resultado de escanear tengo que coger ese resultado y llevarlo a mi aplicación para lo que yo quiera? ¿Y eso cómo lo hago? pues mirad también dentro del lector de código de barras en ese componente voy a tener él cuando lector código de barras 1 punto después de escanear, ¿vale? se va a lanzar cuando ya el usuario le haya dado el código de barras o el código QR y ya lo hayas escaneado y ¿dónde tengo yo el texto o lo que haya leído del código de barras? pues lo tiene aquí es la primera vez que sale este bloque pero es muy sencillo de utilizar este bloque lo que me permite es llevarlo a vuestros proyectos iros a llevarlos a vuestros proyectos, iros al componente del lector de código de barras y cogeros y situar el cursor para llevar encima de resultado no sé si alguno lo tenías hecho veréis que se os pone dos cositas, uno para poner un valor y otro para recuperar el valor de resultado es decir, que para yo coger el resultado pongo el cursor aquí encima y voy a poder coger esto que veis aquí, toma resultado aquí lo que voy a tener es lo que haya leído del código de barras por eso en este bloque de aquí tenéis el resultado aquí arriba y después de haberlo escaneado este es el resultado y lo cojo de aquí por lo tanto, fijaros que yo lo que voy a hacer es que le pongo a la etiqueta 1.txt ese resultado y fijaros una cosa que yo digo será súper complicado abrir un navegador web que se meta pues no, simplemente me voy al visor web al componente llamo esto y aquí le pongo el resultado del código de barras y listo, aquí podría poner el resultado del código de barras el resultado o podría poner el texto de la etiqueta 1 podría poner las tres cosas cualquiera, porque en los tres sitios tengo el mismo resultado que es lo que haya leído del código de barras pues sólo con estas dos cositas ya tenemos hecho una pedazo de aplicación que escanea código escanea, te muestra el visor web bueno, podéis hasta presumir de ella si alguien le sale un error diciendo que no ha encontrado un lector de código QR mirad, si nos vamos a las propiedades del objeto, del lector de código de barras vamos a tener una única propiedad bueno, pues esa propiedad es la que os está haciendo un poquito ahí, porque mira, por defecto la tenemos seleccionada y lo que está diciendo es que utilice una aplicación externa quitarlo, porque podéis utilizar el lector que trae por defecto android, que no hace falta otra con lo cual, quitamos ese check y tachan, funciona vale, o debe de funcionar bueno, pues vamos a pasar a la siguiente aplicación la siguiente os va a gustar porque es muy chula es muy chula, es un traductor, ¿vale? Miguel, cuéntanos un poquito y ve como va la aplicación externa a ver, es una aplicación que lo que queremos hacer es traducir un texto a otro idioma vamos a dar la posibilidad en nuestro caso de dos idiomas diferentes inglés o francés, ¿vale? entonces cuando se pulse la bandera del Reino Unido traduciremos el texto al inglés cuando pulsemos en la bandera francesa traducimos el texto al francés ¿vale? en esta primera versión lo que vamos a hacer es escribir aquí un texto y ese será el texto que vamos a traducir ¿vale? luego la idea es ir mejorando la aplicación para que... vamos con la versión 1 entonces ¿vale? hacemos primera esta versión cosas que necesitamos, mirad hemos puesto una etiqueta 1, miramos los componentes aquí claro, vamos a repasarlo, hemos puesto etiqueta 1 la etiqueta 1 solamente la estamos utilizando para poner el nombre de la aplicación que es traductor, ¿vale? aprovechamos también para decir cosas que no hemos dicho hasta ahora y es que si vais dentro del screen 1 el screen 1, digamos que es una ventana especial porque es la primera ventana que tiene la aplicación es por ello que si os vais a las propiedades seleccionáis dentro de componentes screen 1 si os vais a las propiedades van a aparecer propiedades que no os van a aparecer en el screen 2, ni en el 3, ni en ninguno que la creéis como por ejemplo, ¿cuál? tenemos ahí ¿qué propiedad podemos tener? vamos a mostrar por ejemplo aquí screen 1 por ejemplo tenemos una pantalla cerca de porque esas son opciones de la propia aplicación o por ejemplo el icono que yo le quiera asignar a la aplicación por ejemplo tenéis aquí ¿vale? el icono o también como yo quiero que se abran y se cierran las pantallas, es decir tenemos un montón de posibilidades, hay aplicaciones que vosotros ves que lo ponéis para un lado y para otro y te la ponen solamente para que estén horizontal, hay juegos que yo me lo descargo y cuando voy a jugar no me deja que lo pongan vertical si tengo que ponerlo horizontal bueno pues nosotros podemos forzar que la orientación de la pantalla sea de una forma o de otra o que lo detecte en función de como yo lo tenga bueno pues todas esas opciones no la hemos visto hasta ahora pero la tenéis todas en el screen 1 ¿vale? ahí podemos poner un icono podemos poner todas las cosillas se pueden programar aquí bien entonces íbamos repasando y decíamos que teníamos una etiqueta 1 donde yo le he puesto el nombre de la aplicación traductor ¿vale? después vamos a tener ahí vamos a tener otro campo donde vamos a meter el texto que vamos a querer traducir aquí hemos puesto una disposición horizontal y fijaros en este caso lo que hemos hecho ha sido poner dos botones ¿vale? son dos botones no son imágenes son botones la diferencia está en que este botón lo voy a poner metiéndole dentro de las propiedades un imagen por lo tanto el botón una de las propiedades es meterle un imagen le voy a quitar el texto que tenga ¿vale? de botón 1, botón 2 lo que sea le quito el texto y le pongo esa imagen estas dos imágenes la tenéis ¿no? ya venían en el curso o la tenéis que tener descargadas ¿vale? pues le aplico a cada uno una y que lo que me quedaría abajo tener un sitio donde mostrar otra etiqueta donde yo muestre ¿vale? otro campo de texto donde yo muestre el texto traducido ¿sí? ¿vale? hay un componente que tenéis que utilizar que se llama el diandex 1 que es el que nos va a hacer de traductor el que nos permite traducir ¿vale? pues venga vamos allá, vamos a intentar meter todos esos componentes aquí lo que vamos a tener va a ser que cuando se presione en el primer botón ¿no Miguel? en el de inglés lo que tenemos que hacer cuando se pulse en el botón de inglés que será llamar al traductor nuestro traductor y lo que tenemos que decir es que coja el texto que el usuario haya metido en el campo de texto y eso es lo que queremos que traduzca ¿a qué idioma lo queremos traducir? queremos traducir del español al inglés entonces tenemos que poner una cadena de texto que será así es los dos primeras letras del idioma del que queremos traducir seguido de un guión y el código del idioma el que queremos traducir en este caso es English entonces EN el inglés ¿vale? esto sería del español al inglés texto a traducir pues será el de la etiqueta texto ¿se comprende? y para el francés es lo mismo pero habrá que poner aquí FR en vez de EN lo importante siempre es ver a qué componente yo tengo que irme para sacar la información es decir por ejemplo cuando pulso un botón entonces me voy al componente botón y el botón inglés y lo cojo de aquí ¿qué quiero? que traduzca pues me voy al componente de traductor y ahí seguro hay algo que puedo utilizar lo tenemos este y ahora ¿qué es lo que quiero traducir? pues oye yo tenía ese campo de texto en el que el usuario había metido información pues ¿cómo puedo coger de ahí el texto que ha metido el usuario? pues seguro que hay uno que me lo va a poner en este caso sería el punto texto ¿vale? bueno pues ya solamente con esto como dice Miguel y con esto en principio se debería de llamar al traductor pero ¿qué pasa? que eso se ha traducido lo mismo se ha traducido pero yo no lo veo en ningún lado si lo probáis así eso no me muestra nada realmente se ha traducido o casi seguro que se ha traducido pero no tengo el resultado ¿qué habría que hacer entonces Miguel? pues lo que hay que decir es que cuando el traductor haya acabado de traducir ¿vale? que lo podemos hacer buscando el componente este en el apartado ese de traductor ¿vale? cuando traductor yandés traducción recibida entonces ese es un componente parecido al que habíamos visto antes del resultado ¿vale? es muy parecido es la misma filosofía entonces lo que tenemos que hacer es coger en este caso lo que nos interesa nosotros es esto de aquí la traducción ¿vale? es el resultado de la traducción y eso es lo que nosotros vamos a poner en la etiqueta de texto traducido ¿lo veis? es decir cuando el traductor yandés haya acabado y haya conseguido hacer la traducción esa traducción estará aquí en esta variable traducción entonces esa es la que nosotros vamos a coger para ponerla donde nos interese en nuestro caso donde nos interesa ponerla en la etiqueta de texto traducido a ver un compañero estaba preguntando la duda de que como saber que dos letras hay que poner aquí para los idiomas ¿vale? eso lo podéis buscar en internet porque eso es un código eso es un ISO no sé cuánto ¿vale? entonces buscáis en google códigos y idiomas y es un código internacional de dos letras para identificar cada uno de los idiomas eso lo buscáis podemos poner ahí quizá ¿no? con los idiomas os lo podéis buscar y un truquito continuando lo que dice Miguel un truquito, mirad cuando no sepamos cómo funciona un componente siempre vais a tener en los componentes tenéis aquí una interrogación por ejemplo si yo nunca he utilizado este le puedo dar la interrogación y me sale un pequeño texto que me explica un poquito cómo funciona pues para los que estáis atrás os hago el favor de leeros un poquito por aquí porque no llega la vista ¿no? o qué? ojalá entonces te dice así n es traducirá del inglés al español es decir ya te explica cómo funcionaría de hecho podríamos incluso ponerle solamente en para traducir al inglés y él solo intentaría detectar el idioma origen ¿vale? todo te viene explicado aquí por lo tanto cada bloque siempre tenemos aquí una pequeña explicación venga siguiente paso vamos poniendo más reto yo recomiendo lo siguiente mirad sobre todo los aquellos que vayáis avanzados es decir que si yo ahora me cojo la día positiva esta y yo digo vale lo que tengo que hacer en el siguiente es esto y los bloques que tengo que hacer es esto y los copios pues realmente vais a seguir cada vez más avanzado más avanzado entonces quizás un ejercicio bueno sería el de bueno ya que voy por delante lo que voy a hacer es voy a ver el siguiente reto y voy a intentar programarlos y mirar los bloques ¿vale? por ejemplo en este caso el siguiente reto sería un traductor de voz quiere decir que seguimos con el mismo lo que pasa que fijaros lo que hemos cambiado aquí es que yo voy a pulsar un botón en vez de que escribís que eso ya no se lleva ¿vale? yo voy a pulsar un botón y lo que voy a hacer es hablarle al móvil para que me detecte el texto para que me reconozca el texto y una vez que yo ya tenga el texto reconocido pues lo mismo ¿vale? aquí no se modifica nada si pulso me traduce si pulso me traduce ¿vale? por lo tanto cambiamos la parte de aquí digo si vais avanzados yo lo que os diría es no miraros que componente tengo que utilizar que nada esa es la idea ¿vale? intentar programarlo vosotros ver todos los componentes posibles meterlo intentar ver con lo que hemos explicado ya ve como irían los bloques meteros un poquito en la descripción y con eso intentar ver si soy capaz de sacarlo vosotros sin mirar la solución ¿vale? dicho esto como sé que hay gente que ya ha conseguido este lanzó el siguiente reto ¿vale? el siguiente reto sería ya el último es muy parecido a este y lo llamamos traductor final, final versión, final, final, final, último ¿vale? versión 4 y ese lo que va a hacer es exactamente lo mismo no cambia nada en componente pero cuando yo le dé al texto bueno aquí me lo reconoce el texto y cuando yo le dé no mire aquí y cuando yo le dé lo que me va a decir es me lo va a decir en el idioma que yo le haya puesto por ejemplo imaginemos que yo le digo yo qué sé cualquier palabra hola ¿vale? pues me va a poner aquí hola aquí le voy a dar me va a decir hello y me va a pronunciar esa palabra, esa frase que la hayáis dicho ¿vale? ese sería el último reto que vamos a proponer en nuestro traductor ¿sí? intentar no mirar los componentes y intentar avanzar ¿vale? venga vamos allá en el traductor tenéis aquí el segundo paso tenéis aquí explicado cómo quedarían cada uno de los componentes y aquí cómo se modificaría un poco el programa que habíamos hecho para que te reconociera todo el tema de la voz simplemente en el botón uno presionar lo que haríamos sería llamar al reconocimiento de vosotros a obtener texto y cuando se haya obtenido el texto se lo metemos a donde nosotros queramos solo con estas dos ya hemos utilizado reconocer el texto ¿sí? bien y la última modificación que nosotros teníamos era el que yo pudiera una vez que obtengo la traducción el que directamente también me lo diga ¿vale? para eso las modificaciones que hemos hecho han sido dos por un lado cuando yo presiono el botón no solamente solicito la traducción sino que inserto en el componente texto a voz que tengo que meter lo que le voy a hacer es configurar el país y el idioma ¿vale? FRA, FR ¿vale? configuro el idioma y el país y una vez que yo haga eso cuando yo ven a la traducción recibida le diré texto a voz punto hablar que haya hecho fijaros cuando yo pulso el inglés directamente ahí me va configurar cómo tiene que hablar mi componente cuando le doy a francés viene en qué idioma tiene que hablar y aquí simplemente lo único que yo tengo que decir es que me diga ese mensaje ¿vale? esta aplicación yo creo que la podéis poner a 0.99 ¿vale? no metéis publicidad y el 50% de lo que tengáis no lo da ya nosotros ¿vale? pero yo creo que es una aplicación oye que queda bastante curioso mirad en el curso si nos permitís solamente un minutito en el curso de la diapositiva os hemos dejado también una que sabíamos que no íbamos a llegar ¿vale? pero que nos parecía bastante interesante de dejarlo aquí que es utilizar la localización en los mapas ¿vale? es una aplicación que tenéis el código en el curso para que lo podáis si queréis directamente importar lo podéis hacerlo ¿vale? lo podéis importar y podéis probar cómo funciona es muy chulo porque lo utilizáis en el móvil y simplemente le dais mostrar en el mapa agrega a un recurso que han añadido en el pigmento hace poquito que es el de mapas y aquí os va a poner el sitio donde estéis pero además lo chulo es que podéis utilizar proyectos de esto con el anunado que hacer una aplicación para que vayan registrando posiciones si mezclamos un poco cosas que hemos visto de datos, la mezclamos con esto pues fijaros, nosotros vamos a poder tener en una base de datos distintas ubicaciones y en cada ubicación podemos hacer pues que me pida una descripción o tal y podemos hacer una aplicación para que me registren distintos sitios en un mapa por ejemplo, para yo que sé para detectar que si monumento o sitio o lo que sea ¿vale? tenéis el código lo tenéis puesto aquí ¿vale? digamos que la mitad simplemente es para que me coja donde estoy y la otra mitad es para que me refresque en el mapa la posición son cosas muy simples ¿vale? bueno, con esto ya hemos terminado, simplemente os dejamos una serie de recursos os dejamos un montón de recursos para que si queréis continuar en esto de pigmento o queréis incluso introduciros junto con el anunado pues que tengáis que tengáis un montón de cosas en las que poder apoyar el primero de ellos es lo que tenemos en programamos ¿vale? el segundo sería vídeos de un curso que acabamos de montar en programamos y tenemos todos esos vídeos puesto en nuestro canal de youtube es una lista de reproducción que podéis verla una detrás de otra también tenemos otra lista de reproducción de todos los vídeos que hemos hecho de Apinventor, que también es igual lo tenéis todos ahí, una tarda entera de estas de las que llueve un vídeo, otro vídeo, otro vídeo, otro vídeo ¿vale? bueno y bueno aquí tenéis un poquito más ¿vale? de la página de Apinventor tenéis un montón de recursos aquí pues para que podáis seguir un poco en esta historia y bueno ya con esto ya terminamos han sido un montón de pero yo bueno creo que más o menos hemos podido llegar a construir algunas aplicaciones y nada espero que os haya gustado hoy despedimos también a Miguel, Miguel ya no nos sigue con nosotros tampoco me voy a la guerra pasa mejor vida vacaciones eso sí así que nada, eso bueno, vamos a darle un fuerte aplauso a Miguel