Chat en App Inventor con CloudDb

Hola y bienvenido una vez más a inventordeaplicaciones.es. En este vídeo te enseñaré a usar el componente CloudDB en App Inventor 2 y ha abrir una cuenta gratuita en el software Redis para el almacenamiento en la nube.

Con la combinación de estos dos elementos crearás una aplicación de chat en app inventor con cloudDB

¿Qué es CloudDB?

CloudDB es un componente no visible que después de la actualización nb179 el componente deja de ser experimental para situarse en componentes de almacenamiento. Este componente te permite almacenar datos en un servidor de datos conectado a Internet (utilizando el software Redis). Esto permite que tu aplicación comparta datos con otros usuarios que tengan la misma aplicación.

De forma predeterminada, cuando estés creando una aplicación los datos se almacenarán en un servidor mantenido por MIT. Pero este servidor tiene una serie de inconvenientes. Los datos no se guardarán de forma persistente, es decir, en cualquier momento pueden desaparecer. La base de datos será compartida con otros usuarios de App Inventor 2 pudiendo alterar los datos almacenados. Por último este servidor es muy inestable, dándose el caso que pudiera caerse en cualquier momento, sin embargo, puedes configurar y ejecutar tu propio servidor.

 Podemos modificar la propiedad «RedisServer» y la propiedad «RedisPort» para acceder a tu propio servidor. Veremos un ejemplo creando una cuenta y usando el Software Redis.

Diseñando la aplicación para el chat en App Inventor con CloudDb

Como el diseño es bastante complejo dejaré un enlace para descargar el proyecto de la aplicación en formato AIA para abrir con App Inventor. De esta manera podrás ver con más detalle cómo está diseñada la aplicación y por supuesto seguir este tutorial fácilmente.

Pincha en este enlace para descargar el archivo AIA.

Programando la aplicación de chat en app inventor con cloudDB

Lo primero que crearas para tu chat en app inventor con cloudDB, es una variable global a la que le darás el nombre de “USUARIO”. Te servirá para almacenar el valor que el usuario escoja al pulsar el botón en la primera pantalla. Inicializa la variable con un bloque de texto vacío.

DmKHv3jodnArpVT0gOEcXOxZYgGJFjQIhlAnnJz9vkFaNN8ZsHOEoYA11eN1DwGcOMchXPev1dspV6o bUMGxd2bFsMbSKT7diwGNKbN7MY1Ky wbOjBCxgT Xa  8DSZT1KyCgD - Chat en App Inventor con CloudDb

Lo siguiente es programar los botones que servirán para definir quién es el usuario uno y el usuario dos. Y una vez hecho esto cambiar de pantalla. 

Comienza por el botón que definirá el usuario uno. Necesitas que al pulsar el botón “BtnUsuario1” guarde en la variable que anteriormente creaste el valor de “USUARIO1”. Seguido debes de cambiar de pantalla, o en este caso hacer visible la otra disposición vertical. Tiene que quedar de la siguiente manera.

L suOecwZDkrXdJ3O16jJFsp   MEl2JkQ7iolKNq9eGkcI0Y J8uCOr2WydPmjhb1wYymxJGdR8ix1TerC4NzGtFmMNyrPNEYfv Lk2OTBrKQpRoTKUhiQLQIW6sFZAXK01A7tb - Chat en App Inventor con CloudDb

Tendrás que hacer lo mismo para el botón “BtnUsuario2”. Pero esta vez a la hora de darle valor a la variable, le introducirás el valor “USUARIO2”. lo demas sera exactamente igual.

CDR0DHt3E8qmExJnd0tld4XDz5AJeBXDVsamzzO aMzEZaAMLkvnfj5tbox7mDO 1sKWxnrbEkREEeaLebrE83WmsikxH1scVO09rc2 0DdtH07  1U24OBliexlYc3EOXJu4qho - Chat en App Inventor con CloudDb

Una vez que has definido quien es cada uno de los usuarios, vas a programar la parte de envío de mensajes. Cuando el usuario introduzca un texto en la caja y pulse enviar este se envíe y guarde en la nube para posteriormente utilizarlo.

Lo primero que harás es decirle a tu aplicación que si se pulsa el botón “BtnEnviar” y la caja de texto no está vacía. Entonces guardarás el texto en la nube con ayuda del componente CloudDb. Pasándole como etiqueta el valor que tenga la variable global “USUARIO”. Y el valor a guardar, el texto que contenga en ese momento la caja de texto.

Una vez hecho esto, dejaremos la caja de texto vacía para el siguiente mensaje. Lo único que tienes que hacer para esto es cambiar el texto por una caja de texto vacía.

g5sVRzTleMEcpHeQPzeq9acjwXRzdeuoO4pDos6VzDP1wUTy8  3IECrFidkrdzS6mblxihPwvpWoaVaqcqKyV  11H3nXW70EYGXZMhpp4I 1mBy0qqcbXi8idVgcmu FWryV2P - Chat en App Inventor con CloudDb

Ahora utiliza el bloque «Cuando CloudDb Datachanged» para detectar cambios en la base de datos. Este bloque no solo te detectará cuando se ha producido un cambio. Si no que devolverá cuál etiqueta y valor se ha introducido o se ha modificado. De esta manera, sabrás si se ha realizado algún cambio.

También necesitas saber cuál de los dos usuarios ha sido. Para ello te vas ayudar del bloque «IF«, y si la última etiqueta que se ha modificado es la del usuario 1. Entonces será la etiqueta de texto de este la que modificaras, asignándole el dato guardado en esta última etiqueta. Si por el contrario la última etiqueta que se ha modificado no es la del Usuario2. Entonces será la del usuario 2, y procederá a modificar la etiqueta de texto de este. Tanto si modificas la etiqueta de texto del usuario 1 o 2, pon un salto de texto ayudándote con «/n». Tiene que quedar de la siguiente manera.

gh3l6sUWiNzhq1R6xKPkTpDVzBtNakcMhQBQ80 XfwfFP7EuCF gSgKeE VlHgEQBcb6Yu7 gM5qLftTbn2zQVaMrwYNO t11Kf8QtTQh nSlreOJCSApf9QV8013pW9q3Oe7CVN - Chat en App Inventor con CloudDb

Ahora solo te falta buscar a un amigo y ejecutar tu nueva aplicación. Usando dos dispositivos, uno será el usuario 1 y el otro el usuario 2.

Evidentemente esta aplicación podría mejorar infinitamente. Pero la intención de este artículo es solo la de ver un ejemplo sencillo de cómo puede ayudar el almacenar datos en la nube.

Cómo crear una cuenta en el Software Redis para el uso de cloudDB

Cómo bien te explicaba al principio de este artículo querido amigo, el MIT te ofrecerá almacenamiento en un servidor de pruebas. Pero solo se recomienda el uso mientras dure el desarrollo de la aplicación, una vez terminado se recomienda que se cree una cuenta en el Software Redis. Aquí veremos cómo crear una cuenta gratuita y como configurar el componente CloudDB para utilizarlo en tu chat en app inventor con cloudDB.

Lo primero es dirigirte a tu navegador e introducir la siguiente direccion web https://redislabs.com/ . Que te mandara a la página de Redis Labs donde crearemos una cuenta gratuita. Si te fijas justo en el centro de la página tienes un botón con un recuadro. Donde te pide un correo y un botón donde dice que comiences gratis, introduce tu correo y pulsa al botón.

4i1azOFHRTgfDuierCUk0aQCRzcpkGyCHfijn9 2siQgnBiBvqXJwY3jREyGX2YPT1cStYLu4 6jmT8cgDovv1cdbp2LWZ7bO12YAHgB5Gr9nOezJa7hwrFgI dn9urMOsL0GfzH - Chat en App Inventor con CloudDb

Inmediatamente después recibirás en la misma cuenta de correo que has introducido un e-mail de bienvenida. Para confirmar el correo y donde se te pedirá que actives la cuenta pulsando al botón.

aKt0jN jQsuvxUcUe Fjn2 FIn94TinANepWjZWqxFJWL78s5YEqC UA5K9O2zvTm0AyMcXYoCpDqhhSbKXxrxDRp0y92esirXgQTGhSwErJ3MePtbrzDH4J3GZ0jq oNAnH9m9  - Chat en App Inventor con CloudDb

Al pulsar el botón “Ativate Now” te redirigirá a una página para terminar de configurar su cuenta. Si no está seleccionada la opción de la nube selecciónala y rellena los campos, además de aceptar los términos y condiciones, nos redirigirá a una página que nos dará la bienvenida.

2H1am1ngTAlw6YdT5El7HsheckJc7h6oFwGxRlbAZ12k2YEA7a85OS1iBSE4kMCtgoz2ZVk8N7IgQvUX4NvcyISq6KWqrlxdcjVdfEU q6tp3R0iDFVgSw vaMwi23da1yGczU9g - Chat en App Inventor con CloudDb

Pulsa el botón donde dice “Create your subscription” para terminar de configurar tu cuenta. Selecciona la opción  “Essentials”  que es la opción gratuita y sin servidos que nos ofrece 30 megas y por cada giga adicional se cobrará 5$.

oI9He45m0vdnDlzrTyKNN66gtQx9UmnqJhfuwCNDGqOmjz8DNJ9OS2iN99pU5iE3ZIvxD1pIBzsunYJkDlnSPcfun27Iju9jyu 8FN 65As3BznoFKxbKFnG0XEp090yeIwznF9x - Chat en App Inventor con CloudDb

Nuevamente te dirigira a una nueva página para una nueva suscripción, selecciona nuevamente la opción free si no quieres pagar y pulsa continuar.

hZP5JqDnDp1WMxPhZU4HUY5CSKKTz8NZ1nJTuQEzZShfMkdSBR1S5lwBZy2On7JXIPLF8dZZw2V5w35cbJlAXJQrRnKwu94oUpuAiaWYoBu2Z7ZyRoz1H8sBibLEw vx441PxLTi - Chat en App Inventor con CloudDb
njSJyfORbZGPtN0u9X1NOv4MUQHh29  faTjrIjyS2Xyjwiu0h1N 3O7bsH4Cp6DckZPzdEFFu2XCmmwwnZka8VIU1i JYR4GgWHAfqdvM0dF TcRURVFxpb3RG4R7I7r 2N33jS - Chat en App Inventor con CloudDb

Ya está, pon nombre a tu base de datos yo para el ejemplo pondré Prueba0001.

deja como esta las demas opciones y pulsa en “Activate”

h82iwaupZ9mlnnCAMt4ES2W g1P 6VFsNmmM5VvcjJ4 xlMt0AvvNtAOmtSnGWs33A4vU2RHq0 TiHPKpt1P MpkRVF3pxKA1V9Yh1tB3dLhDmRXZBIag9PhFYpwYttCvOOVENWr - Chat en App Inventor con CloudDb

Pues bien ya tenemos activada nuestra cuenta. Ahora pulsa sobre ella para coger unos datos que usaremos en nuestro proyecto de App Inventor 2. Solo coge los datos que te muestro en la siguiente imagen he introducelos en la configuración del componente CloudDb

1b0JskFeuxJ2lrwQA3joobrSOf ReQO5VP8tsNX3JPzc1le0PK3N0KOKgIuEpszy2koek1lDP wVnxgEeRbJ2Q3J23kuDsKj J2jPvV3ZcpDOL4S3SL H72 Xoy256MVb8Fy i78 - Chat en App Inventor con CloudDb

Solo tienes que utilizarlo en la aplicación que has construido en este artículo. Si todo ha ido bien funcionara tu chat en app inventor con cloudDB a la perfección.

Si quieres que hablemos de algún asunto en concreto, o te has quedado atascado en algún desarrollo, no olvides dejarlo en los comentarios. Sin más me despido hasta el próximo tutorial. Un saludo

Si te ha gustado compartelo
facebook - Chat en App Inventor con CloudDb
Facebook
twitter - Chat en App Inventor con CloudDb
Twitter
linkedin - Chat en App Inventor con CloudDb
Linkedin
pinterest - Chat en App Inventor con CloudDb
Pinterest

11 comentarios en “Chat en App Inventor con CloudDb”

  1. pude solucionar este error, ahora tengo otro, al elegir el usuario cuando voy a mandar un msj me salta CloudDBError: javax.net.ssI.SSLHandshakeException:Handshake failed.
    Me podrian ayudar a solucionarlo? Gracias

    Responder
    • Hola Shadow
      Pues tendría que ver cómo tienes colocado todos los bloques. Lo único que te puedo decir es que sigas el tutorial paso a paso. También puedes mandar una imagen de tus bloques o el archivo AIA de tu proyecto a ver qué puedo hacer.
      Un saludo

      Responder
  2. Buenas, tengo una proceso en CloudDB que no lo puedo resolver. LLamo a una lectura de un etiqueta de CloudDB, esta etiqueta si existe pero no lo reconoce, pero en otras pantallas en appinventor2 si la reconoce con la misma programación o instrucciones esa etiqueta guardada en CloudDB. me podría ayudar a resolverlo. Suscribiéndose en este sitio, el manejo la base de datos de CloudDB, se corregiría este tipo de error. Existe Soporte para ello. Gracias por la atención al Comentario.

    Responder
      • Gracias por responder. Ya lo resolví viendo unos foros… Cuando se graba con otro nombre de aplicación, en los CloudDB en las propiedades el ProjectID se graba con el nombre de la nueva aplicación por lo que no referencia a la vieja sino al nombre de la nueva, el RedisPort el RedisServer y el token siguesiendo el mismo. Lo que hice fue cambiar el nombre del ProjectID en las propiedades del CloudDB en la nueva aplicación con el que tenia en la vieja. De esa forma pudo leer los datos en el CloudDB.
        Gracia de todas formas… Saludos.

        Responder
  3. Hola. Quiero usar CloudDB para guardar datos tipo nombre, apellidos, fecha, ciudad, etc. ¿Dónde o cómo puedo ingresar los datos? ¿Hay alguna página en la web de CloudDB para eso? Gracias por adelantado. Saludos.

    Responder
  4. Hola de nuevo. En mi proyecto de app, he creado una base en CloudDB con un solo dato (etiqueta y valor), colocando los valores de Rediserver , Redisport y token generados automáticamente (6381 DEFAULT C7uF… UsarSSL [Sí])
    Pues al ejecutar la app en mi móvil me aparece el mensaje de error:
    CloudDBError: java.net. UnknownHostException: clouddb.example.com
    Y no soy capaz de seguir…
    Gracias por adelantado. Saludos.

    Responder

Deja un comentario

error: Content is protected !!