Catch up on everthing we announced at this year's Firebase Summit. Learn more

Installazione e configurazione su Android

Connetti la tua app a Firebase

Se non l'hai già, aggiungi Firebase al progetto Android .

Crea un database

  1. Passare alla sezione Database in tempo reale della console Firebase . Ti verrà chiesto di selezionare un progetto Firebase esistente. Segui il flusso di lavoro di creazione del database.

  2. Seleziona una modalità di partenza per le tue regole di sicurezza Firebase:

    Modalità di prova

    Ottimo per iniziare con le librerie client mobile e web, ma consente a chiunque di leggere e sovrascrivere i dati. Dopo aver testato, assicuratevi di rivedere la Firebase Realtime capire le regole del database sezione.

    Per iniziare con l'SDK Web, Apple o Android, seleziona la modalità test.

    Modalità bloccata

    Nega tutte le operazioni di lettura e scrittura da client mobili e web. I tuoi server delle applicazioni autenticati possono ancora accedere al tuo database.

  3. Scegli una regione per il database. A seconda della scelta della regione, lo spazio dei nomi del database sarà di forma <databaseName>.firebaseio.com o <databaseName>.<region>.firebasedatabase.app . Per ulteriori informazioni, vedere località selezionate per il progetto .

  4. Fai clic su Fine.

Quando si attiva in tempo reale del database, consente anche l'API nel Manager API cloud .

Aggiungi l'SDK Realtime Database alla tua app

Utilizzando la Firebase Android BoM , dichiarare la dipendenza per il tempo reale del database della libreria Android nel modulo (a livello di app) File Gradle (di solito app/build.gradle ).

Giava

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.0')

    // Declare the dependency for the Realtime Database library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database'
}

Usando il Firebase Android BoM , la vostra applicazione sarà sempre utilizzare versioni compatibili delle librerie Firebase Android.

(Alternativa) Dichiarare Firebase dipendenze delle librerie senza utilizzare la distinta

Se scegli di non utilizzare Firebase BoM, devi specificare ogni versione della libreria Firebase nella relativa riga di dipendenza.

Si noti che se si utilizzano più librerie Firebase nella vostra app, ti consigliamo di utilizzare la distinta di gestire versioni della libreria, che assicura che tutte le versioni sono compatibili.

dependencies {
    // Declare the dependency for the Realtime Database library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database:20.0.2'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.0.0')

    // Declare the dependency for the Realtime Database library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database-ktx'
}

Usando il Firebase Android BoM , la vostra applicazione sarà sempre utilizzare versioni compatibili delle librerie Firebase Android.

(Alternativa) Dichiarare Firebase dipendenze delle librerie senza utilizzare la distinta

Se scegli di non utilizzare Firebase BoM, devi specificare ogni versione della libreria Firebase nella relativa riga di dipendenza.

Si noti che se si utilizzano più librerie Firebase nella vostra app, ti consigliamo di utilizzare la distinta di gestire versioni della libreria, che assicura che tutte le versioni sono compatibili.

dependencies {
    // Declare the dependency for the Realtime Database library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-database-ktx:20.0.2'
}

Configura le regole del database in tempo reale

Il Realtime Database fornisce un linguaggio di regole dichiarative che ti consente di definire come devono essere strutturati i tuoi dati, come devono essere indicizzati e quando i tuoi dati possono essere letti e scritti.

Scrivi al tuo database

Recupero di un'istanza del database utilizzando getInstance() e fare riferimento alla posizione che si desidera scrivere.

Giava

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

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

Kotlin+KTX

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

myRef.setValue("Hello, World!")

In questo modo è possibile salvare una serie di tipi di dati nel database, inclusi gli oggetti Java. Quando salvi un oggetto, le risposte di qualsiasi getter verranno salvate come figli di questa posizione.

Leggi dal tuo database

Per rendere il vostro aggiornamento dei dati applicazione in tempo reale, si dovrebbe aggiungere un ValueEventListener al riferimento appena creato.

onDataChange() metodo in questa classe è attivata una volta quando l'ascoltatore è collegato e di nuovo ogni volta che i dati cambiano, compresi i bambini.

Giava

// 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+KTX

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

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

Opzionale: configurare ProGuard

Quando utilizzi Firebase Realtime Database nella tua app insieme a ProGuard, devi considerare come gli oggetti del modello verranno serializzati e deserializzati dopo l'offuscamento. Se si utilizza DataSnapshot.getValue(Class) o DatabaseReference.setValue(Object) per leggere e scrivere i dati, è necessario aggiungere le regole al proguard-rules.pro di file:

    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models.
    # Modify this rule to fit the structure of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

Per ottenere aiuto per domande o problemi relativi alla ProGuard, visitare i forum Guardsquare comunitari per ottenere l'assistenza di un esperto.

Preparati per il lancio

Prima di lanciare la vostra applicazione, si consiglia di camminare attraverso la lista di controllo di lancio per assicurarsi che la vostra applicazione è pronto ad andare!

Assicurarsi di abilitare App Controllare per garantire che solo le applicazioni possono accedere ai database.

Prossimi passi