¿Cómo obtener datos de Firebase en Android?

Objetivos del blog

Después de leer este blog, podremos obtener datos de Firebase Realtime Database. Estos datos pueden incluir tipos de datos simples, como cadenas, o tipos de datos complejos, como objetos Java.

Pre-requisitos

Necesitamos tener un proyecto de Android Studio y un proyecto de Firebase listos para usar Firebase Realtime Database. Cree un nuevo proyecto de Android Studio (o use cualquier proyecto existente). Este proyecto de Android Studio se utilizará para trabajar con la base de datos en tiempo real. Siga los pasos que se indican a continuación para crear el proyecto de Firebase:

1. Utilice la herramienta https://console.firebase.google.com

2. Haga clic en “Añadir proyecto.

3. Introduzca el nombre del proyecto y acepte las condiciones y haga clic en “Continúe.

 

4. Luego agregue la aplicación de Android a su proyecto. Requiere ingresar el nombre del paquete de la aplicación. Haga clic en Siguiente.

5. Descargue el archivo google-services.json y mueva este archivo a la ubicación en el proyecto de Android en Android Studio como se especifica en la pantalla.

6. En el siguiente paso, habría un pequeño tutorial para agregar 3 líneas de código en los archivos build.gradle a nivel de proyecto y de aplicación. Agréguelos en consecuencia.

7. Luego finalice este proceso de agregar la aplicación de Android al proyecto.

8. Luego haga clic en la opción “Base de datos” del menú de la izquierda y haga clic en el botón “Crear base de datos”.

 

9. La configuración de Firebase está completa. Ahora agregue la biblioteca de Firebase para usar Firebase Realtime Database en el archivo build.gradle del nivel de la aplicación. Esto se puede hacer agregando la siguiente línea:

implementación 'com.google.firebase:firebase-database:16.0.6'

Implementación de código

Antes de obtener las referencias, deberá comprender qué es una referencia de Firebase. Una referencia de Firebase apunta a una ubicación en la base de datos de Firebase donde se almacenan los datos. Incluso si crea varias referencias, todas comparten la misma conexión siempre que haya utilizado la misma ruta al crear la referencia desde la instancia de la base de datos. En primer lugar, necesitamos tener una instancia de Firebase Database para poder usarla. La instancia se puede crear con la siguiente línea de código.

 

privado FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

 

Ahora es necesario crear referencias de las rutas donde se almacenan los datos en la base de datos. Como los datos en la base de datos de Firebase se almacenan en formato JSON, las claves del objeto JSON son las rutas especificadas en las referencias. La referencia al nodo raíz se puede crear mediante la siguiente línea de código:

 

Referencia de base de datos privada mGetReference = mDatabase.getReference();

 

Después de obtener la referencia de la base de datos, se debe adjuntar un oyente asíncrono a la referencia de la base de datos que escuche activamente cualquier cambio realizado en la base de datos. Este agente de escucha devuelve una instantánea de datos de la base de datos inicialmente por primera vez cuando se adjunta. Luego, la instantánea de datos se devuelve cuando se realiza cualquier cambio en la ruta a la que apunta la referencia de la base de datos. Por lo general, la base de datos contiene el mismo tipo de datos, pero supongamos que la base de datos contiene algunos datos de diferentes tipos. A continuación, encuentre la captura de pantalla de la base de datos que contiene algunos datos ficticios:

 

Para obtener la base de datos de esta base de datos, adjunte ValueEventListener a la referencia de la base de datos. El oyente se puede agregar con el siguiente código:

 

mGetReference.addValueEventListener(nuevo ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (dataSnapshot.exists()){ HashMap mapa de datos = (mapa hash ) instantánea de datos.getValue(); for (String key: dataMap.keySet()){ Datos del objeto = dataMap.get(key); prueba{ HashMap datos de usuario = (HashMap ) datos; Usuario mUser = nuevo Usuario((String) userData.get("nombre"), (int) (long) userData.get("edad")); addTextToView(mUser.getName() + " - " + Integer.toString(mUser.getAge())); }catch (ClassCastException cce){ // Si el objeto no se puede convertir en HashMap, significa que es de tipo String. prueba{ String mString = String.valueOf(dataMap.get(key)); addTextToView(mString); }catch (ClassCastException cce2){ } } } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } });

Después de adjuntar el oyente, se ejecuta primero devolviendo inicialmente todos los datos en la base de datos en ese momento. Este oyente se invocará más tarde en el momento en que se produzca algún cambio en la base de datos en la ruta señalada por la referencia a la que está adjunto el oyente.

Resumen

Después de seguir el procedimiento anterior, podrá obtener datos de la base de datos Firebase Realtime en Android. Si tiene algún problema, no dude en comunicarse con nosotros en support@knowband.com. También ofrecemos desarrollo personalizado y módulos para las principales plataformas de CMS como Prestashop, Opencart, Magento, Magento 2 y Woocommerce. Echa un vistazo a nuestros más populares Creador de aplicaciones móviles sin código de Woocommerce:

 

¿Cómo guardar datos en Firebase en Swift Language (iOS)?

Objetivos del blog

Después de leer este blog, podremos instalar el SDK de Firebase en su proyecto y escribir código para guardar datos en la base de datos de Firebase junto con la creación del proyecto de Firebase.

Beneficios de usar la base de datos de Firebase

No importa si está trabajando en un proyecto pequeño o tiene los ojos puestos en uno grande, debe necesitar una base de datos para almacenar toda su información. Si está trabajando en un proyecto pequeño, puede usar esta base de datos de Firebase. Aquí está la lista de beneficios usando la base de datos de Firebase: 1. Le ayuda a administrar sin esfuerzo los datos de su tienda. 2. Si los datos cambian en cualquier momento, todos los dispositivos conectados recibirán los datos actualizados en sus dispositivos. 3. La base de datos en tiempo real de Firebase es de uso gratuito. 4. Ahorro de tiempo. 5. Soporte multiplataforma y fácil de usar para SDK. 6. Útil para aplicaciones de chat, notificaciones automáticas, noticias, etc.

Pre-requisitos

Necesitamos escribir código Swift para guardar los datos en Firebase. Para ello, primero tendremos que crear el proyecto Firebase. Siga los pasos que se indican a continuación para crear el proyecto de Firebase: 1. Vaya a https://console.firebase.google.com

2.Haga clic en “Añadir proyectobotón ”

 

3. Luego cree la aplicación iOS y descargue el archivo GoogleService-Info.plist 4. Luego mueva el archivo plist dentro del proyecto 5. Después de Xcode, abra AppDelegate.swift y agregue este código antes de la declaración de devolución dentro de la aplicación (_:didFinishLaunchingWithOptions:)

FirebaseApp.configure()

6.Luego haga clic en “base de datosopción ” del menú de la izquierda.

 

7. Seleccione “Base de datos en tiempo real“, allí encontrará la URL de la base de datos, que puede usar en el código para obtener los datos de la base de datos. Por lo general, no necesitará esta URL ya que estamos usando GoogleServices-Info.plist y la URL de la base de datos ya está disponible en ese archivo, solo necesitamos inicializar Firebase. 8. La configuración de Firebase está completa. Ahora tendrá que descargar el SDK de Firebase en Swift. Para ello tendrás que instalar los siguientes pods. 1. vaina ‘base de fuego/núcleo‘ 2. vaina ‘Firebase/Base de datos‘ Supongamos que actualmente no tenemos datos en la base de datos de Firebase y queremos guardar los siguientes datos en el formato dado en la base de datos� –

// La raíz del árbol { "películas": [ "película1": { "nombre": "Avengers", "addedByUser": "John" }, "película2": { "nombre": "Star Wars", " añadidoPorUsuario": "Jane" }, ] }

Después de instalar con éxito los pods en el proyecto, estamos listos para implementar la parte de codificación.


Implementación de código Antes de crear las referencias, deberá comprender qué es una referencia de Firebase. Una referencia de Firebase apunta a una ubicación en Firebase donde se almacenan los datos. Incluso si crea varias referencias, todas comparten la misma conexión. Primero tendremos que crear una referencia de FIRDatabaseReference. La referencia que contendrá el nodo raíz (artículos de comestibles) se puede hacer usando el siguiente código:

let ref = Database.database().reference(withPath: "movies")

o también puede usar la siguiente manera:

let rootRef = Database.database().reference() let ref = rootRef.child("películas")

Luego, tendremos que crear una referencia a los elementos secundarios que son leche y pizza para que podamos agregar los datos dentro de esos nodos.

let movieRefAvengers = ref.child("movie1") let movieRefStarWars = ref.child("movie2")

Sabemos que necesitamos guardar el diccionario dentro de estas teclas. Para eso, crearemos dos diccionarios uno para leche y otro para pizza.

let dictMovieRefAvengers: [String: String] = ["name": "Avengers", "addedByUser": "John"] let dictMovieRefStarWars: [String: String] = ["name": "Star Wars", "addedByUser": " Juana"]

Después de eso, podemos agregar el dictPelículaRefAvengers y dictPelículaRefStarWars en el películaRefAvengers y películaRefStarWars y estos se agregarán como elementos secundarios de esas referencias. Hay dos métodos que se utilizan para guardar datos en la base de datos de Firebase, que son setValue y updateChildValues. Si desea saber cuándo se confirmaron sus datos, puede agregar un bloque de finalización. Tanto setValue como updateChildValues ​​toman un bloque de finalización opcional que se llama cuando la escritura se ha confirmado en la base de datos. Este oyente puede ser útil para realizar un seguimiento de qué datos se han guardado y qué datos aún se están sincronizando.

 

// Guardando los valores en el nodo movie1 movieRefAvengers.setValue(dictMovieRefAvengers) { (error:Error?, ref:DatabaseReference) in if let error = error { print("No se pudieron guardar los datos: \(error).") } else { print("¡Los datos se guardaron correctamente!") } } // Guardando los valores en el nodo de pizza movieRefStarWars.setValue(dictMovieRefStarWars) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Los datos no pudieron ser guardado: \(error).") } else { print("¡Los datos se guardaron correctamente!") } }

 

Después de ejecutar el código que se muestra arriba, obtendrá la misma estructura en la base de datos de Firebase que ya se muestra.

Resumen

Después de seguir el procedimiento anterior, podrá guardar los datos en la base de datos de Firebase rápidamente.

Lea también estos artículos: