Si aún no lo ha hecho, agregue Firebase a su proyecto de Android .
Crear una base de datos
Vaya a la sección Base de datos en tiempo real de la consola de Firebase . Se le pedirá que seleccione un proyecto de Firebase existente. Siga el flujo de trabajo de creación de la base de datos.
Seleccione un modo de inicio para sus reglas de seguridad de Firebase:
- Modo de prueba
Bueno para comenzar con las bibliotecas de clientes móviles y web, pero permite que cualquier persona lea y sobrescriba sus datos. Después de la prueba, asegúrese de revisar la sección Comprender las reglas de la base de datos en tiempo real de Firebase .
Para comenzar con la web, Apple o Android SDK, seleccione el modo de prueba.
- modo bloqueado
Niega todas las lecturas y escrituras de clientes móviles y web. Sus servidores de aplicaciones autenticados aún pueden acceder a su base de datos.
Elija una ubicación para la base de datos.
Según la ubicación de la base de datos , la URL de la nueva base de datos tendrá uno de los siguientes formatos:
DATABASE_NAME .firebaseio.com
(para bases de datos enus-central1
)DATABASE_NAME . REGION .firebasedatabase.app
(para bases de datos en todas las demás ubicaciones)
Haga clic en Listo .
Cuando habilita Realtime Database, también habilita la API en Cloud API Manager .
Agregue el SDK de Realtime Database a su aplicación
En el archivo Gradle de tu módulo (nivel de aplicación) (generalmente<project>/<app-module>/build.gradle
), agrega la dependencia para la biblioteca de Android de Realtime Database. Recomendamos usar Firebase Android BoM para controlar el control de versiones de la biblioteca. Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.0') // Add the dependency for the Realtime Database library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-database-ktx' }
Al usar Firebase Android BoM , su aplicación siempre usará versiones compatibles de las bibliotecas de Firebase Android.
(Alternativa) Agregar dependencias de la biblioteca de Firebase sin usar el BoM
Si elige no usar Firebase BoM, debe especificar cada versión de la biblioteca de Firebase en su línea de dependencia.
Tenga en cuenta que si usa varias bibliotecas de Firebase en su aplicación, le recomendamos enfáticamente que use la lista de materiales para administrar las versiones de la biblioteca, lo que garantiza que todas las versiones sean compatibles.
dependencies { // Add the dependency for the Realtime Database library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-database-ktx:20.1.0' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.0') // Add the dependency for the Realtime Database library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-database' }
Al usar Firebase Android BoM , su aplicación siempre usará versiones compatibles de las bibliotecas de Firebase Android.
(Alternativa) Agregar dependencias de la biblioteca de Firebase sin usar el BoM
Si elige no usar Firebase BoM, debe especificar cada versión de la biblioteca de Firebase en su línea de dependencia.
Tenga en cuenta que si usa varias bibliotecas de Firebase en su aplicación, le recomendamos enfáticamente que use la lista de materiales para administrar las versiones de la biblioteca, lo que garantiza que todas las versiones sean compatibles.
dependencies { // Add the dependency for the Realtime Database library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-database:20.1.0' }
Configurar reglas de base de datos en tiempo real
Realtime Database proporciona un lenguaje de reglas declarativas que le permite definir cómo se deben estructurar sus datos, cómo se deben indexar y cuándo se pueden leer y escribir sus datos.
Escribe en tu base de datos
Recupere una instancia de su base de datos usando getInstance()
y haga referencia a la ubicación en la que desea escribir.
Kotlin+KTX
// Write a message to the database val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!")
Java
// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
Puede guardar una variedad de tipos de datos en la base de datos de esta manera, incluidos los objetos Java. Cuando guarda un objeto, las respuestas de los captadores se guardarán como elementos secundarios de esta ubicación.
Leer de su base de datos
Para actualizar los datos de su aplicación en tiempo real, debe agregar un ValueEventListener
a la referencia que acaba de crear.
El método onDataChange()
en esta clase se activa una vez cuando se adjunta el oyente y nuevamente cada vez que cambian los datos, incluidos los elementos secundarios.
Kotlin+KTX
// Read from the database myRef.addValueEventListener(object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. val value = dataSnapshot.getValue<String>() Log.d(TAG, "Value is: $value") } override fun onCancelled(error: DatabaseError) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()) } })
Java
// Read from the database myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. String value = dataSnapshot.getValue(String.class); Log.d(TAG, "Value is: " + value); } @Override public void onCancelled(DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
Opcional: Configurar ProGuard
Al usar Firebase Realtime Database en su aplicación junto con ProGuard, debe considerar cómo se serializarán y deserializarán los objetos de su modelo después de la ofuscación. Si usa DataSnapshot.getValue(Class)
o DatabaseReference.setValue(Object)
para leer y escribir datos, deberá agregar reglas al archivo proguard-rules.pro
:
# Add this global rule
-keepattributes Signature
# This rule will properly ProGuard all the model classes in
# the package com.yourcompany.models.
# Modify this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
*;
}
Para obtener ayuda con preguntas o problemas relacionados con ProGuard, visite los foros de la comunidad de Guardsquare para obtener ayuda de un experto.
Prepárate para el lanzamiento
Antes de iniciar su aplicación, le recomendamos revisar nuestra lista de verificación de lanzamiento para asegurarse de que su aplicación esté lista para funcionar.
Asegúrese de habilitar App Check para asegurarse de que solo sus aplicaciones puedan acceder a sus bases de datos.
Próximos pasos
- Aprenda a estructurar datos para Realtime Database
- Escale sus datos a través de múltiples instancias de bases de datos .
- Leer y escribir datos .
- Vea su base de datos en la consola de Firebase .