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

Installazione e amp; Installazione su Android

Connetti la tua app a Firebase

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

Nel file build.gradle livello di build.gradle , assicurati di includere il repository Maven di Google nelle sezioni buildscript e allprojects .

Crea un database

  1. Se non lo hai già fatto, crea un progetto Firebase: nella console di Firebase , fai clic su Aggiungi progetto , quindi segui le istruzioni sullo schermo per creare un progetto Firebase o per aggiungere i servizi Firebase a un progetto GCP esistente.

  2. Passare alla sezione Database della console di Firebase . Ti verrà richiesto di selezionare un progetto Firebase esistente. Segui il flusso di lavoro per la creazione del database.

  3. Seleziona una modalità di avvio per le regole di sicurezza di Firebase:

    Modalità di prova

    Buono per iniziare con le librerie client mobile e web, ma consente a chiunque di leggere e sovrascrivere i dati. Dopo il test, assicurarsi di consultare la sezione Comprensione delle regole del database in tempo reale di Firebase .

    Per iniziare con l'SDK Web, iOS o Android, selezionare la modalità test.

    Modalità bloccata

    Nega tutte le letture e le scritture da client mobili e Web. I server delle applicazioni autenticati possono comunque accedere al database.

  4. Fai clic su Fine .

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

Aggiungi l'SDK del database in tempo reale alla tua app

Aggiungi la dipendenza per la libreria Android del database in tempo reale al file Gradle del tuo modulo (a livello di app) (di solito app/build.gradle ):

Giava

 implementation 'com.google.firebase:firebase-database:19.3.1'
 

Kotlin + KTX

 implementation 'com.google.firebase:firebase-database-ktx:19.3.1'
 

Configurare le regole del database in tempo reale

Il database in tempo reale fornisce un linguaggio delle 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.

Per impostazione predefinita, l'accesso in lettura e scrittura al database è limitato, pertanto solo gli utenti autenticati possono leggere o scrivere dati. Per iniziare senza impostare l' autenticazione , è possibile configurare le regole per l'accesso pubblico . Questo rende il database aperto a chiunque, anche alle persone che non usano la tua app, quindi assicurati di limitare nuovamente il database quando imposti l'autenticazione.

Scrivi nel tuo database

Recupera un'istanza del tuo database usando getInstance() e fai riferimento alla posizione in cui vuoi 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 si salva un oggetto, le risposte di tutti i getter verranno salvate come elementi secondari di questa posizione.

Leggi dal tuo database

Per aggiornare i dati dell'app in tempo reale, è necessario aggiungere un oggetto 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())
    }
})

Opzionale: configura ProGuard

Quando si utilizza Firebase Realtime Database nella propria app insieme a ProGuard, è necessario considerare in che modo 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, sarà necessario 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 to fit the structure
    # of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }
 

Preparati per il lancio

Prima di avviare l'app, ti consigliamo di consultare la nostra lista di controllo per accertarti che l'app sia pronta per l'uso!

Prossimi passi