martes, 19 de febrero de 2019

FIREBASEDB EN APP INVENTOR 2

¿Qué es FirebaseDB?

FirebaseDB te proporciona una base de datos en la nube para tus aplicaciones de App Inventor y admite el intercambio de datos entre usuarios simultáneamente. Cuando se cambian los datos en tu FirebaseDB , todas las aplicaciones reciben alertas de los datos actualizados.

En este momento, FirebaseDB es una función experimental con limitaciones, aún no puede configurar su propia cuenta personal de FirebaseDB, sino que debe usar una única FirebaseDB ejecutada por MIT como una «cuenta compartida». El uso compartido está limitado a todos los usuarios de una sola aplicación y no está disponible entre diferentes aplicaciones.

La interfaz de programación para FirebaseDB es casi la misma que la utilizada para TinyWebDB . TinyWebDB es una base de datos simple basada en la nube: para usar, debe configurar TinyWebDB en su propio servidor o en los servidores de Google. Con sus datos almacenados en la «nube», sus datos pueden ser compartidos entre muchas aplicaciones. Para la demostración de FirebaseDB, no necesita configurar su propio servidor, ni necesita usar TinyWebDB:

Una aplicación de ejemplo

vamos a crear una aplicación simple que almacene y recupere un valor de texto desde FirebaseDB. Al igual que con TinyDB o TinyWebDB ,vamos a utilizar un campo de texto donde introduciremos el valor a buscar, por ejemplo, un valor a buscar podría ser el nombre de una persona y el resultado podría ser el número de teléfono de esa persona.

La aplicación funciona ingresando un nombre y un valor en cada uno de los campos de texto. Los valores ingresados se guardaran en la base de datos FirebaseDB “en la nube”.

Después de que se haya guardado los valores, podremos recuperarlos ingresando el nombre con el que se guardó  y presionando Recuperar valor. Los datos correspondientes al nombre se recuperan de FirebaseDB y se muestran en el campo Valor, de la pantalla.

Si la aplicación se ejecuta simultáneamente en otros dispositivos, cualquier actualización de datos realizada en los otros dispositivos hará que todos los dispositivos reciban una notificación de cambio de datos. Cuando se cambian los datos en FirebaseDB, los nuevos datos se muestran en todos los dispositivos.

Vista del diseño

Se utiliza una combinación de disposiciones verticales y horizontales para organizar tanto los botones como las cajas de texto y etiquetas.

Necesitaremos dos botones a los que introduciremos los textos de Almacenar valor y Recuperar valor. Utilizaremos dos etiquetas una para el nombre y otra para el valor o número de teléfono y dos cajas de texto justo al lado de cada etiqueta.

Arrastre el componente FirebaseDB desde la sección Experimental de la paleta de interfaz de usuario.


Programando la aplicación

El botón  btnGuardarValor lee el valor numérico insertados en los cuadros de texto en la pantalla y luego los guarda en FirebaseDB . Ve a bloques → screen1 → FirebaseDB1 y arrastra el bloque GuardarValor de FirebaseDB al visor de bloques.

Obtener el valor guardado es muy fácil, utilizaremos el bloque ObtenerValor de FirebaseDB y tendremos que darle el valor de la etiqueta. A diferencia de TinyDB (pero similar a TinyWebDB ), el valor no se lee instantáneamente, sino que, una vez que los datos están leídos, se llama al evento ObtenerValor. Donde estarán los datos  recogidos de nuestra aplicación, y los datos se se mostraran nuevamente en el cuadro de texto Valor, en la pantalla.

Una característica única de FirebaseDB es la capacidad de la base de datos para alertar a las aplicaciones de que se han cambiado los datos dentro de la base de datos. Esta alerta provocó que ocurriera un evento DataChanged , y que entrega la etiqueta y el valor que se actualizaron en la aplicación.

FirebaseDB es experimental e incompleto, está sujeto a cambios y no debes confiar que te funcione  siempre. Sin embargo, puedes usarlo para aprender y experimentar.

Descargar el código AIA

Descargar: EjemploFirebaseDB.aia

Compartir archivos y texto con Sharing

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