Si aún no lo has hecho, agrega Firebase a tu proyecto de Android .
Crear una base de datos
Navegue a la sección Base de datos en tiempo real de Firebase console . Se te pedirá que selecciones 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 web y móviles, pero permite que cualquiera 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 el SDK web, Apple o Android, seleccione el modo de prueba.
- Modo bloqueado
Niega todas las lecturas y escrituras desde clientes web y móviles. Sus servidores de aplicaciones autenticados aún pueden acceder a su base de datos.
Elija una ubicación para la base de datos.
Dependiendo de la ubicación de la base de datos , la URL de la nueva base de datos tendrá una de las siguientes formas:
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 su módulo (nivel de aplicación) (generalmente<project>/<app-module>/build.gradle.kts
o <project>/<app-module>/build.gradle
), agregue la dependencia para la base de datos en tiempo real biblioteca para Android. Recomendamos utilizar Firebase Android BoM para controlar el control de versiones de la biblioteca.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.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) Agregue dependencias de la biblioteca de Firebase sin usar la BoM
Si elige no utilizar la BoM de Firebase, 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 encarecidamente usar la BoM 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.3.1") }
Configurar reglas de seguridad de bases de datos en tiempo real
Realtime Database proporciona un lenguaje de reglas declarativas que le permite definir cómo se deben estructurar los datos, cómo se deben indexar y cuándo se pueden leer y escribir los 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 objetos Java. Cuando guarda un objeto, las respuestas de los captadores se guardarán como elementos secundarios de esta ubicación.
Leer desde su base de datos
Para que los datos de su aplicación se actualicen 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 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(@NonNull 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(@NonNull DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
Opcional: configurar ProGuard
Cuando utilice 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 asistencia de un experto.
Prepárese 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 ayudar a garantizar que solo sus aplicaciones puedan acceder a sus bases de datos.
Próximos pasos
- Aprenda a estructurar datos para Realtime Database
- Escale sus datos en múltiples instancias de bases de datos .
- Leer y escribir datos .
- Vea su base de datos en Firebase console .