How to fetch data from Firebase in Android?

Come recuperare i dati da Firebase in Android?


Obiettivi del blog

Come recuperare i dati da Firebase in Android?

Dopo aver letto questo blog saremo in grado di recuperare i dati dal database in tempo reale di Firebase. Questi dati possono includere tipi di dati semplici, come stringhe, o tipi di dati complessi come oggetti Java.

Pre-requisiti

È necessario disporre di un progetto Android Studio e di un progetto Firebase pronti per utilizzare Firebase Realtime Database. Crea un nuovo progetto Android Studio (o usa qualsiasi progetto esistente). Questo progetto Android Studio verrà utilizzato per lavorare con il database in tempo reale. Segui i passaggi indicati di seguito per creare il progetto Firebase –

1. Vai su https://console.firebase.google.com

2. Clicca su “Aggiungi progettoPulsante “.

3. Inserisci il nome del progetto e accetta le condizioni e clicca su “ContinuaPulsante “.

 

Aggiungi progetto

4. Quindi aggiungi l’app Android al tuo progetto. Richiede l’inserimento del nome del pacchetto dell’app. Fare clic su Avanti.

5. Scarica il file google-services.json e sposta questo file nella posizione del progetto Android in Android Studio come specificato sullo schermo.

6. Nel passaggio successivo, ci sarebbe un piccolo tutorial per aggiungere 3 righe di codice nei file build.gradle a livello di progetto e di app. Aggiungili di conseguenza.

7. Quindi completa questo processo di aggiunta dell’app Android al progetto.

8. Quindi fare clic sull’opzione “Database” dal menu a sinistra e fare clic sul pulsante “Crea database”.

 

creare-databaseï ¿½

9. La configurazione di Firebase è completata Ora aggiungi la libreria Firebase per l’utilizzo del database Firebase Realtime nel file build.gradle a livello di app. Questo può essere fatto aggiungendo la seguente riga:

implementazione 'com.google.firebase:firebase-database:16.0.6'

Implementazione del codice

Prima di recuperare i riferimenti, dovrai capire che cos’è un riferimento Firebase. Un riferimento Firebase punta a una posizione nel database Firebase in cui sono archiviati i dati. Anche se crei più riferimenti, condividono tutti la stessa connessione a condizione che tu abbia utilizzato lo stesso percorso durante la creazione del riferimento dall’istanza del database. In primo luogo, per poterlo utilizzare, è necessario disporre di un’istanza del database Firebase. L’istanza può essere creata dalla seguente riga di codice.

 

privato FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

 

Ora è necessario creare riferimenti dei percorsi in cui i dati sono archiviati nel database. Poiché i dati nel database Firebase sono archiviati nel formato JSON, le chiavi dell’oggetto JSON sono i percorsi specificati nei riferimenti. Il riferimento al nodo radice può essere creato dalla seguente riga di codice:

 

privato DatabaseReference mGetReference = mDatabase.getReference();

 

Dopo aver ottenuto il riferimento del database, è necessario collegare un listener asincrono al riferimento del database che ascolta attivamente qualsiasi modifica apportata al database. Questo listener restituisce inizialmente uno snapshot dei dati del database per la prima volta quando è collegato. Quindi lo snapshot dei dati viene restituito quando viene apportata una modifica al percorso a cui punta il riferimento al database. Di solito, il database contiene lo stesso tipo di dati, ma supponiamo che il database contenga dati di tipo diverso. Di seguito trovi lo screenshot del database contenente alcuni dati fittizi:

 

dati fittizi

Per recuperare il database da questo database, allegare ValueEventListener al riferimento del database. L’ascoltatore può essere aggiunto dal seguente codice:

 

mGetReference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (dataSnapshot.exists()){ HashMap dataMap = (HashMap ) dataSnapshot.getValue(); for (Chiave stringa: dataMap.keySet()){ Dati oggetto = dataMap.get(chiave); prova{ HashMap userData = (HashMap ) dati; Utente mUser = new User((String) userData.get("name"), (int) (long) userData.get("age")); addTextToView(mUser.getName() + " - " + Integer.toString(mUser.getAge())); }catch (ClassCastException cce){ // Se non è possibile eseguire il cast dell'oggetto in HashMap, significa che è di tipo String. try{ String mString = String.valueOf(dataMap.get(chiave)); addTextToView(mString); }catch (ClassCastException cce2){ } } } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } });

Dopo aver collegato il listener, viene eseguito inizialmente restituendo tutti i dati nel database in quel momento. Questo listener verrà successivamente richiamato nel momento in cui si verifica qualsiasi modifica nel database nel percorso indicato dal riferimento a cui è collegato il listener.

sommario

Dopo aver seguito la procedura sopra, sarai in grado di recuperare i dati dal database Firebase Realtime in Android. In caso di problemi, non esitare a contattarci all’indirizzo support@knowband.com. Forniamo anche sviluppo personalizzato e moduli per le principali piattaforme CMS come Prestashop, Opencart, Magento, Magento 2 e Woocommerce. Dai un’occhiata ai nostri più popolari Generatore di app mobili senza codice Woocommerce:

 

Leave a Reply

Your email address will not be published. Required fields are marked *