Comment récupérer les données de Firebase sous Android?

Objectifs du blog

Après avoir lu ce blog, nous pourrons récupérer les données de la base de données en temps réel Firebase. Ces données peuvent inclure des types de données simples, tels que des chaînes, ou des types de données complexes, tels que des objets Java.

Conditions préalables

Nous devons avoir un projet Android Studio et un projet Firebase prêts à utiliser la base de données Firebase Realtime. Créez un nouveau projet Android Studio (ou utilisez un projet existant). Ce projet Android Studio sera utilisé pour travailler avec la base de données temps réel. Suivez les étapes ci-dessous pour créer le projet Firebase –

1. Aller à https://console.firebase.google.com

2. Cliquez sur "Ajouter un projet" bouton.

3. Entrez le nom du projet et acceptez les conditions et cliquez sur "Continuer" bouton.

Ajouter un projet

4. Ajoutez ensuite l'application Android à votre projet. Il faut entrer le nom du package de l'application. Cliquez sur Suivant.

5. Téléchargez le fichier google-services.json et déplacez ce fichier vers l'emplacement du projet Android dans Android Studio, comme indiqué à l'écran.

6. À l'étape suivante, un petit tutoriel vous permettra d'ajouter des lignes de code 3 dans les fichiers build.gradle au niveau projet et au niveau application. Ajoutez-les en conséquence.

7. Ensuite, terminez l'ajout de l'application Android au projet.

8. Cliquez ensuite sur "Base de données" dans le menu de gauche, puis sur "Créer une base de données".

créer une base de données?

9. La configuration de Firebase est terminée. Ajoutez maintenant la bibliothèque Firebase pour l’utilisation de la base de données Firebase Realtime dans le fichier build.gradle au niveau de l’application. Cela peut être fait en ajoutant la ligne suivante:

implémentation 'com.google.firebase: firebase-database: 16.0.6'

Implémentation du code

Avant d'extraire les références, vous devez comprendre qu'il s'agit d'une référence Firebase. Une référence Firebase pointe vers un emplacement dans la base de données Firebase où les données sont stockées. Même si vous créez plusieurs références, elles partagent toutes la même connexion à condition que vous utilisiez le même chemin lors de la création de la référence à partir de l'instance de base de données. Tout d'abord, nous avons besoin d'une instance de la base de données Firebase pour pouvoir l'utiliser. L'instance peut être créée par la ligne de code suivante.

FirebaseDatabase privée mDatabase = FirebaseDatabase.getInstance ();

Maintenant, il est nécessaire de créer des références des chemins où les données sont stockées dans la base de données. Les données de la base de données Firebase étant stockées au format JSON, les clés de l’objet JSON sont les chemins spécifiés dans les références. La référence au nœud racine peut être créée par la ligne de code suivante:

private DatabaseReference mGetReference = mDatabase.getReference ();

Après avoir obtenu la référence de la base de données, un écouteur asynchrone doit être associé à la référence de la base de données, ce qui écoute activement toute modification apportée à la base de données. Cet écouteur renvoie un instantané de données de la base de données pour la première fois lorsqu’elle est attachée. La capture instantanée de données est ensuite renvoyée lorsque toute modification est effectuée sur le chemin d'accès pointé par la référence de la base de données. En règle générale, la base de données contient le même type de données, mais supposons qu'elle contienne des données de types différents. Ci-dessous, vous trouverez la capture d'écran de la base de données contenant des données factices:

données factices

Pour extraire la base de données de cette base de données, attachez ValueEventListener à la référence de base de données. L'écouteur peut être ajouté avec le code suivant:

mGetReference.addValueEventListener (new ValueEventListener () {@Override public void onDataChange (@NonNull DataSnapshot dataSnapshot) {if (dataSnapshot.exists ()) {HashMap <String, Object> data ); pour (clé de chaîne: dataMap.keySet ()) {objet Data = dataMap.get (clé); try {HashMap <String, Object> userData = (HashMap <String, Object>) data; utilisateur mUser = nouvel utilisateur ( (Chaîne) userData.get ("nom"), (int) (long) userData.get ("âge")); addTextToView (mUser.getName () + "-" + Integer.toString (mUser.getAge ()) );} catch (ClassCastException cce) {// Si l'objet ne peut pas être transtypé en HashMap, cela signifie qu'il est de type String. try {String mString = String.valueOf (dataMap.get (clé)); addTextToView ( mString);} catch (ClassCastException cce2) {}}}}} @Override public void onCancelled (@NonNull DatabaseError databaseError) {}});

Après avoir attaché le programme d’écoute, celui-ci est d'abord exécuté en renvoyant toutes les données de la base de données à ce moment. Cet écouteur sera ultérieurement appelé au moment où un changement quelconque aura lieu dans la base de données sur le chemin indiqué par la référence à laquelle l'attacheur est attaché.

Résumé

Après avoir suivi la procédure ci-dessus, vous pourrez récupérer les données de la base de données Firebase Realtime sous Android.


Leave a Reply

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