Primeros pasos con firebase-base de datos

Agregue Firebase a su proyecto de Android

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

Agregue Firebase a su aplicación

  1. Cree un proyecto de Firebase en Firebase console 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 su aplicación; esto solo se puede configurar cuando agrega una aplicación a su proyecto de Firebase.

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

  5. Cambie Android Studio View a Project y pegue el archivo google-service.json en la carpeta de la aplicación

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

Agregar 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 haya hecho esto como parte de la adición de Firebase a su aplicación.

  1. Agregue reglas a su archivo build.gradle de nivel raíz, para incluir el complemento de servicios de Google:

    buildscript { // … dependencies { // … classpath ‘com.google.gms:google-services:3.1.1’ } }

Luego, en el archivo Gradle de su módulo (generalmente app/build.gradle), agregue la línea de aplicación del complemento en la parte inferior del archivo para habilitar el complemento 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 autenticación. Si lo quieres sin autenticación. Cambie las reglas en la base de datos firebase console.

    { “rules”: { “.read”: true, “.write”: true } }

  • Agregar permiso de Internet en Manifiesto

  • Actualice los servicios de Google Play y el repositorio de Google

Escribir un 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!");

Escribirá ¡Hola, Wold! en el nodo 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 database para su uso posterior.

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

El código anterior hará referencia al objeto myRef en el hijo "mensaje" del padre de su proyecto (en este ejemplo, es "su-proyecto-padre"). Entonces es "su-proyecto-principal/mensaje"

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

El código anterior establecerá "Hello, World!" en la ruta a la que hace referencia myRef

1: https://www.wikiod.com/es/firebase-database/primeros-pasos-con-firebase-base-de-datos#Agregue Firebase a su proyecto de Android

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

Después de haber configurado algunos datos en la base de datos y haber obtenido 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
    }
  }

puede categorizar estructuras de datos.

Creando Clase

Cree una clase de 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 de 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, de modo que la Instantánea de datos que regresa de Firebase pueda acceder a estos campos. Si no lo hace, cuando desee obtener datos, DataSnapshot no podrá acceder a su modelo en la devolución de llamada y eso provocará una excepción.
  3. Los nombres de las 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 ya tienes la referencia de tu base de datos. Cree un nodo usuario con databaseReference.child("user"). Si hace .push(), sus modelos se ubicarán bajo identificadores únicos creados aleatoriamente 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 configurar sus datos bajo su clave específica, hágalo con .child("yourSpecificKey") en lugar de .push().

databaseReference.child("usuario").child("tuClaveEspecífica").setValue(usuario,...