Se trata de un ejemplo de como usar nueva base de datos de "Firebase", llamada Cloud Firestore, con consultas más potentes que Realtime Database.
- Ve a Firebase
- Crea un nuevo proyecto
- Introduce el siguiente nombre del paquete del proyecto:
com.jeluchu.cloudfirestone
- Añade el archivo "google-services.json" a la carpeta app
- Sincroniza el proyecto
- ¡Listo para compilar!
Hemos podido comprobar que para la esta nueva base de datos tenemos la colección de datos, dentro de ella tenemos las diferentes id's de cada uno de los componentes que añadimos, y posteriormente los campos donde encontraremos los datos que hemos introducido desde la aplicación.
Por ejemplo, para añadir datos hemos hecho lo siguiente:
private fun addNote(title: String, content: String) {
val note = Note(title, content).toMap()
firestoreDB!!.collection("notes")
.add(note)
.addOnSuccessListener { documentReference ->
Log.e(tag, "DocumentSnapshot written with ID: " + documentReference.id)
Toast.makeText(applicationContext, "¡Datos añadidos!", Toast.LENGTH_SHORT).show()
}
.addOnFailureListener { e ->
Log.e(tag, "Error adding Note document", e)
Toast.makeText(applicationContext, "Los datos no han sido añadidos", Toast.LENGTH_SHORT).show()
}
}
Recordemos que para hacerlo en Realtime Database necesitábamos diversos métodos en los que defíniamos las acciones de la base de datos cuándo cambiaba, cuándo se eliminaba algún ítem, cuándo se modificaba o cuándo se añadían.