Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Installazione e configurazione su Android

Collega la tua app a Firebase

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

Crea un database

  1. Accedi 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 avvio per le tue regole di sicurezza Firebase:

    Modalità di prova

    Utile per iniziare con le librerie client per dispositivi mobili e Web, ma consente a chiunque di leggere e sovrascrivere i tuoi dati. Dopo il test, assicurati di rivedere la sezione Comprendere le regole del database in tempo reale Firebase .

    Per iniziare con il Web, iOS o Android SDK, seleziona la modalità di prova.

    Modalità bloccata

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

  3. Scegli una regione per il database. A seconda della regione scelta, lo spazio dei nomi del database sarà nel formato <databaseName>.firebaseio.com o <databaseName>.<region>.firebasedatabase.app . Per ulteriori informazioni, vedere selezionare le posizioni per il progetto .

  4. Fare clic su Fine .

Quando abiliti Realtime Database, abilita anche l'API in Cloud API Manager .

Aggiungi Realtime Database SDK alla tua app

Utilizzando Firebase Android BoM , dichiara la dipendenza per la libreria Android di Realtime Database nel file Gradle del modulo (a livello di app) (di solito app/build.gradle ).

Giava

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:27.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'
}

Utilizzando Firebase Android BoM , la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.

(Alternativa) Dichiara le dipendenze della libreria Firebase senza utilizzare BoM

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

Tieni presente che se utilizzi più librerie Firebase nella tua app, ti consigliamo vivamente di utilizzare BoM per gestire le versioni delle librerie, il che garantisce che tutte le versioni siano 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:19.7.0'
}

Kotlin + KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:27.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'
}

Utilizzando Firebase Android BoM , la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.

(Alternativa) Dichiara le dipendenze della libreria Firebase senza utilizzare BoM

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

Tieni presente che se utilizzi più librerie Firebase nella tua app, ti consigliamo vivamente di utilizzare BoM per gestire le versioni delle librerie, il che garantisce che tutte le versioni siano 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:19.7.0'
}

Configurare le regole del database in tempo reale

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

Scrivi nel tuo database

Recupera un'istanza del tuo database utilizzando getInstance() e fai riferimento alla posizione in cui desideri 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!")

È possibile salvare una serie di tipi di dati nel database in questo modo, inclusi gli oggetti Java. Quando si salva un oggetto, le risposte di qualsiasi getter verranno salvate come elementi secondari di questa posizione.

Leggi dal tuo database

Per aggiornare i dati della tua app in tempo reale, devi aggiungere un ValueEventListener al riferimento appena creato.

Il metodo onDataChange() in questa classe viene attivato una volta quando il listener è collegato e di nuovo ogni volta che i dati cambiano, inclusi i figli.

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())
    }
})

Facoltativo: configura 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 utilizzi DataSnapshot.getValue(Class) o DatabaseReference.setValue(Object) per leggere e scrivere dati, dovrai aggiungere regole al file proguard-rules.pro :

    # 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 assistenza per domande o problemi relativi a ProGuard, visitare i forum della community di Guardsquare per ottenere assistenza da un esperto.

Preparati per il lancio

Prima di avviare la tua app, ti consigliamo di esaminare la nostra lista di controllo per il lancio per assicurarti che la tua app sia pronta!

Prossimi passi