Prueba Cloud Firestore: Descubre la base de datos flexible y escalable de Firebase y Google Cloud Platform. Obtén más información sobre Cloud Firestore.

Instalación y configuración en Android

Conecta la app a Firebase

  1. Instala el SDK de Firebase.
  2. En Firebase console, agrega la app al proyecto de Firebase.

Agrega Realtime Database a tu app

Agrega la dependencia para Realtime Database a tu archivo build.gradle de nivel de app de la siguiente manera:

  implementation 'com.google.firebase:firebase-database:16.1.0'

Configura reglas de Firebase Database

Realtime Database proporciona un lenguaje de reglas declarativas que te permite definir cómo se deben estructurar los datos, cómo se deben indexar y cuándo se pueden leer y escribir.

Según la configuración predeterminada, el acceso de lectura y escritura a tu base de datos es restringido, por lo que solo los usuarios autenticados pueden leer o escribir datos. Para comenzar sin configurar Authentication, puedes definir tus reglas de acceso público. Esto hace que la base de datos esté abierta para todo el mundo, incluidos los usuarios que no usan la app, así que asegúrate de volver a restringirla cuando configures la autenticación.

Realiza operaciones de escritura en tu base de datos

Recupera una instancia de tu base de datos con getInstance() y haz referencia a la ubicación a la que quieras escribir.

Java
Android

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

Kotlin
Android

// Write a message to the database
val database = FirebaseDatabase.getInstance()
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

De esta manera, puedes guardar diversos tipos de datos en la base de datos, incluso objetos Java. Cuando guardas un objeto, las respuestas de cualquier método de obtención se guardan como elementos secundarios de esta ubicación.

Realiza operaciones de lectura desde la base de datos

Para que los datos de tu app se actualicen en tiempo real, agrega un ValueEventListener a la referencia que acabas de crear.

El método onDataChange() de esta clase se activa cuando se adjunta el agente de escucha y cada vez que cambian los datos, incluidos los secundarios.

Java
Android

// 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());
    }
});

Kotlin
Android

// 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::class.java)
        Log.d(TAG, "Value is: $value")
    }

    override fun onCancelled(error: DatabaseError) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException())
    }
})

Opcional: Configura ProGuard

Cuando usas Firebase Realtime Database en tu app junto con ProGuard, debes considerar cómo los objetos de tu modelo se serializarán y deserializarán tras la ofuscación. Si usas DataSnapshot.getValue(Class) o DatabaseReference.setValue(Object) para leer y escribir datos, debes 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 to fit the structure
    # of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

Prepárate para el lanzamiento

Antes de lanzar tu app, te recomendamos revisar nuestra lista de tareas del lanzamiento para asegurarte de que tu app esté lista.

Próximos pasos

Enviar comentarios sobre...

Firebase Realtime Database
Si necesitas ayuda, visita nuestra página de asistencia.