Ricerca…


Osservazioni

Questa sezione fornisce una panoramica del database di Firebase e del motivo per cui uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare eventuali soggetti di grandi dimensioni all'interno del database di Firebase e collegarsi agli argomenti correlati. Poiché la Documentazione per Firebase-database è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Versioni

SDK della piattaforma Versione Data di rilascio
Firekase 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
SDK Java di Firebase Admin 4.1.2 2017/02/14

Aggiungi Firebase al tuo progetto Android

Ecco i passaggi necessari per creare un progetto Firebase e collegarlo con un'app Android.

Aggiungi Firebase alla tua app

  1. Crea un progetto Firebase nella console Firebase e fai clic su Crea nuovo progetto .

  2. Fai clic su Aggiungi Firebase all'app per Android e segui i passaggi di installazione.

  3. Quando richiesto, inserisci il nome del pacchetto dell'app .
    È importante inserire il nome del pacchetto utilizzato dalla tua app; questo può essere impostato solo quando aggiungi un'app al tuo progetto Firebase.

  4. Alla fine, scaricherai un file google-services.json . Puoi scaricare nuovamente questo file in qualsiasi momento. (questo file si trova sotto le impostazioni del progetto nella console Firebase).

  5. Passa a Android studio View per Proietta e incolla il file google-service.json nella cartella app

Il prossimo passo è aggiungere l'SDK per integrare le librerie Firebase nel progetto.

Aggiungi l'SDK

Per integrare le librerie Firebase in uno dei tuoi progetti, devi eseguire alcune attività di base per preparare il tuo progetto Android Studio. Potresti averlo già fatto come parte dell'aggiunta di Firebase alla tua app.

  1. Aggiungi le regole al tuo file build.gradle livello build.gradle , per includere il plugin di google-services :
buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.1.1'
    }
}

Quindi, nel tuo file Gradle del modulo (in genere l' app/build.gradle ), aggiungi la riga del plug-in in fondo al file per abilitare il plugin 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'

Gli appunti:

  • I dati non possono essere letti / scritti senza autenticazione. Se lo vuoi senza autenticazione. Modificare le regole nella console Firebase del database.

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

  • Aggiungi il permesso di internet in Manifest

  • Esegui l'upgrade di Google Play Services e Google Repository

Scrivere un valore semplice nel database

Innanzitutto, completa l' installazione e l'installazione per connettere l'app a Firebase. Quindi da qualsiasi punto della tua classe, puoi scrivere:

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

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

Scriverò Hello, Wold! nel nodo del message , come visto di seguito:

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

Spiegazione

FirebaseDatabase database = FirebaseDatabase.getInstance();

Sopra il codice assegnerà l'istanza di FirebaseDatabase nell'oggetto di database per un ulteriore utilizzo.

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

Il codice di cui sopra farà riferimento a oggetto myRef in "message" figlio del genitore del progetto (in questo esempio, è "your-project-parent" ). Quindi è "your-project-parent/message"

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

Sopra il codice verrà impostato "Hello, World!" nel percorso a cui fa riferimento myRef

Mappatura automatica del modello personalizzato alla struttura dei dati

Dopo aver impostato alcuni dati nel database e aver ottenuto una struttura composta da diversi nodi come questo;

"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
    }
  }

puoi categorizzare le strutture di dati.

Creazione di una classe

Creare una classe del modello da impostare sul database.

@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;
    }
}

Alcune cose da ricordare quando si crea una classe del modello che si desidera mappare ai dati:

  1. Devi avere un costruttore vuoto
  2. L'ambito delle variabili / campi deve essere pubblico, in modo che il DataSnapshot di ritorno dal firebase possa accedere a questi campi. Se non lo fai, quando vuoi ottenere i dati, DataSnapshot non può accedere al tuo modello in callback e ciò causerà un'eccezione.
  3. I nomi di variabili / campi devono corrispondere a quelli nella struttura dei dati.

Invio a Firebase

Crea un oggetto utente

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

e riferimento

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

Ora hai il riferimento del tuo database. Creare un nodo user con databaseReference.child("user") . Se fai .push() tuoi modelli verranno individuati in ID univoci creati casualmente come sopra, "-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();

            }
        });

Se vuoi impostare i tuoi dati sotto la tua chiave specifica, fallo con .child("yourSpecificKey") invece di .push() .

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



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow