Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android.
Creare un database
Vai alla sezione Realtime Database della Firebase console. Ti verrà chiesto di selezionare un progetto Firebase esistente. Segui il flusso di lavoro per la creazione del database.
Seleziona una modalità di avvio per Firebase Security Rules:
- Modalità di prova
Ideale per iniziare a utilizzare le librerie client web e su dispositivi mobili, ma consente a chiunque di leggere e sovrascrivere i tuoi dati. Dopo il test, assicurati di esaminare la sezione Informazioni sulle regole di Firebase Realtime Database.
Per iniziare a utilizzare l'SDK web, Apple o Android, seleziona la modalità di prova.
- Modalità di blocco
Nega tutte le operazioni di lettura e scrittura da client web e su dispositivi mobili. I server delle applicazioni autenticati possono comunque accedere al database.
Scegli una località per il database.
A seconda della località del database, l' URL del nuovo database avrà uno dei seguenti formati:
(per i database inDATABASE_NAME.firebaseio.comus-central1) (per i database in tutte le altre località)DATABASE_NAME.REGION.firebasedatabase.app
Fai clic su Fine.
Quando abiliti Realtime Database, viene abilitata anche l'API in the Cloud API Manager.
Aggiungere l'SDK Realtime Database all'app
Nel file Gradle del modulo (a livello di app) (in genere<project>/<app-module>/build.gradle.kts o
<project>/<app-module>/build.gradle),
aggiungi la dipendenza per la libreria Realtime Database per Android. Ti consigliamo di utilizzare la
Firebase Android BoM
per controllare il controllo delle versioni della libreria.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.10.0")) // Add 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") }
Con la Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.
(Alternativa) Aggiungere le dipendenze della libreria Firebase senza utilizzare la BoM
Se scegli di non utilizzare la Firebase BoM, devi specificare la versione di ogni libreria Firebase nella riga di dipendenza.
Tieni presente che, se utilizzi più librerie Firebase nella tua app, ti consigliamo vivamente di utilizzare la BoM per gestire le versioni delle librerie, in modo da garantire che tutte le versioni siano compatibili.
dependencies { // Add 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:22.0.1") }
Configura Realtime Database Security Rules
Il Realtime Database fornisce un linguaggio di regole dichiarative che ti consente di definire la struttura dei dati, la modalità di indicizzazione e quando i dati possono essere letti e scritti.
Scrivere nel database
Recupera un'istanza del database utilizzando getInstance() e
fai riferimento alla località in cui vuoi scrivere.
Kotlin
// Write a message to the database val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!")
Java
// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
In questo modo puoi salvare una serie di tipi di dati nel database, inclusi gli oggetti Java. Quando salvi un oggetto, le risposte di tutti i getter vengono salvate come figli di questa località.
Leggere dal database
Per aggiornare i dati dell'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.
Kotlin
// 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()) } })
Java
// Read from the database myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull 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(@NonNull DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
(Facoltativo) Configurare ProGuard
Quando utilizzi Firebase Realtime Database nella tua app insieme a ProGuard, devi
considerare in che modo gli oggetti modello verranno serializzati e deserializzati dopo
l'offuscamento. Se utilizzi DataSnapshot.getValue(Class) o
DatabaseReference.setValue(Object) per leggere e scrivere dati, devi
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 ricevere assistenza per domande o problemi relativi a ProGuard, visita i forum della community di Guardsquare per ricevere assistenza da un esperto.
Prepararsi al lancio
Prima di lanciare l'app, ti consigliamo di consultare la nostra checklist di lancio per assicurarti che l'app sia pronta.
Assicurati di abilitare App Check per garantire che solo le tue app possano accedere ai tuoi database.
Passaggi successivi
- Scopri come strutturare i dati per Realtime Database
- Scalare i dati su più istanze di database.
- Leggere e scrivere dati.
- Visualizzare il database nella console Firebase.