Looking for firebase-database Answers? Try Ask4KnowledgeBase
Looking for firebase-database Keywords? Try Ask4Keywords

firebase-databaseComenzando con la base de datos firebase


Observaciones

Esta sección proporciona una descripción general de qué es la base de datos de base de fuego, y por qué un desarrollador puede querer usarla.

También debe mencionar cualquier tema grande dentro de la base de datos de base de fuego, y vincular a los temas relacionados. Dado que la Documentación para la base de datos de base de fuego es nueva, es posible que deba crear versiones iniciales de esos temas relacionados.

Versiones

Plataforma SDK Versión Fecha de lanzamiento
Firebase JavaScript SDK 3.7.0 2017-03-01
Firebase C ++ SDK 3.0.0 2107-02-27
Firebase Unity SDK 3.0.0 2107-02-27
Firebase iOS SDK 3.14.0 2017-02-23
Firebase Android SDK 10.2 2017-02-15
Firebase Admin Node.js SDK 4.1.1 2017-02-14
Firebase Admin Java SDK 4.1.2 2017-02-14

Agrega Firebase a tu proyecto de Android

Aquí se detallan los pasos necesarios para crear un proyecto Firebase y conectarlo con una aplicación de Android.

Agrega Firebase a tu aplicación

  1. Cree un proyecto de Firebase en la consola de Firebase y haga clic en Crear nuevo proyecto .

  2. Haga clic en Agregar Firebase a su aplicación de Android y siga los pasos de configuración.

  3. Cuando se le solicite, ingrese el nombre del paquete de su aplicación .
    Es importante ingresar el nombre del paquete que usa tu aplicación; esto solo se puede configurar cuando agrega una aplicación a su proyecto Firebase.

  4. Al final, descargará un archivo google-services.json . Puedes descargar este archivo de nuevo en cualquier momento. (este archivo se encuentra en la configuración del proyecto en la consola Firebase).

  5. Cambie Android studio View to Project y pegue el archivo google-service.json en la carpeta de aplicaciones

El siguiente paso es agregar el SDK para integrar las bibliotecas Firebase en el proyecto.

Agrega el SDK

Para integrar las bibliotecas de Firebase en uno de sus propios proyectos, debe realizar algunas tareas básicas para preparar su proyecto de Android Studio. Es posible que ya hayas hecho esto como parte de agregar Firebase a tu aplicación.

  1. Agregue reglas a su archivo build.gradle nivel build.gradle , para incluir el complemento de servicios de google :
buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.1.1'
    }
}
 

Luego, en su módulo de archivo Gradle (generalmente app/build.gradle ), agregue la línea de aplicación del complemento en la parte inferior del archivo para habilitar el complemento de Gradle:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  compile 'com.google.firebase:firebase-core:9.4.0'//THIS IS FOR ANALYTICS
  compile "com.google.firebase:firebase-database:11.0.2" 
}

// BELOW STATEMENT MUST BE WRITTEN IN BOTTOM
apply plugin: 'com.google.gms.google-services'
 

Notas:

  • Los datos no se pueden leer / escribir sin autenticar. Si lo quieres sin autenticación. Cambia las reglas en la base de datos de la consola de base de fuego.

    {"rules": {".read": true, ".write": true}}

  • Añadir permiso de internet en Manifiesto

  • Actualiza Google Play Services y Google Repository

Asignar automáticamente el modelo personalizado a la estructura de datos

Después de configurar algunos datos en la base de datos y obtener una estructura que consta de varios nodos como este;

"user" : {
    "-KdbKcU2ptfYF2xKb5aO" : {
      "firstName" : "Arthur",
      "lastName" : "Schopenhauer",
      "userName" : "AphorismMan",
      "phone" : "+9022-02-1778",
      "gender": "M",
      "age" : 25
    },
    "-KdbQFjs9BDviuqQVHjY" : {
      "firstName" : "Werner",
      "lastName" : "Heisenberg",
      "userName" : "whereAmI",
      "phone" : "+9005-12-1901",
      "gender": "M",
      "age" : 75
    }
  }
 

Puedes categorizar estructuras de datos.

Creando clase

Crear una clase modelo para establecer en la base de datos.

@IgnoreExtraProperties
public class User {
    public String firstName;
    public String lastName;
    public String userName;
    public String phone;
    public String gender;
    public int age;

    public User() {
    }

    public User(String firstName, String lastName, String userName, String phone, String gender, int age) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.userName = userName;
        this.phone = phone;
        this.gender = gender;
        this.age = age;
    }
}
 

Algunas cosas para recordar al crear una clase modelo que desea asignar a sus datos:

  1. Tienes que tener un constructor vacío.
  2. El alcance de las Variables / Campos debe ser público, para que el DataSnapshot que regresa de la base de fuego pueda acceder a estos campos. Si no lo hace, cuando desea obtener datos, DataSnapshot no puede acceder a su modelo en la devolución de llamada y eso causará una excepción.
  3. Los nombres de variables / campos deben coincidir con los de su estructura de datos.

Enviando a Firebase

Crear un objeto de usuario

User user = new User ( "Arthur","Schopenhauer","AphorismMan","+9022-02-1778","M",25)
 

y referencia

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
 

Ahora tienes la referencia de tu base de datos. Cree un nodo de user con databaseReference.child("user") . Si lo hace .push() sus modelos se .push() bajo identificadores únicos creados al azar como el anterior, "-KdbKcU2ptfYF2xKb5aO", "-KdbQFjs9BDviuqQVHjY" .

databaseReference.child("user").push().setValue(user, new DatabaseReference.CompletionListener() {
            @Override
            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
                Toast.makeText(getActivity(), "User added.", Toast.LENGTH_SHORT).show();

            }
        });
 

Si desea establecer sus datos bajo su clave específica, hágalo con .child("yourSpecificKey") lugar de .push() .

databaseReference.child("user").child("yourSpecificKey").setValue(user,...

Escribir valor simple en la base de datos

Primero, complete la instalación y configuración para conectar su aplicación a Firebase. Luego, desde cualquier lugar de tu clase, puedes escribir:

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

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

Se escribirá Hello, Wold! en el nodo de message , como se ve a continuación:

"your-project-parent" : {
    "message" : "Hello, World!"
}
 

Explicación

FirebaseDatabase database = FirebaseDatabase.getInstance();
 

El código anterior asignará la instancia de FirebaseDatabase al objeto de la database para su uso posterior.

DatabaseReference myRef = database.getReference("message");
 

El código anterior hará referencia myRef objeto myRef en el elemento secundario del "message" del elemento principal de su proyecto (en este ejemplo, es "your-project-parent" ). Así que es "your-project-parent/message"

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

El código de arriba establecerá "Hello, World!" en camino referenciado por myRef