firebase-database Tutoriel
Démarrer avec firebase-database
Recherche…
Remarques
Cette section fournit une vue d'ensemble de la base de données firebase et des raisons pour lesquelles un développeur peut vouloir l'utiliser.
Il devrait également mentionner tous les grands sujets dans la base de données firebase, et établir un lien avec les sujets connexes. La documentation de la base de données firebase étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.
Versions
| Platform SDK | Version | Date de sortie |
|---|---|---|
| Firebase JavaScript SDK | 3.7.0 | 2017-03-01 |
| Kit de développement logiciel Firebase C ++ | 3.0.0 | 2107-02-27 |
| SDK Firebase Unity | 3.0.0 | 2107-02-27 |
| Firebase iOS SDK | 3.14.0 | 2017-02-23 |
| Firebase Android SDK | 10.2 | 2017-02-15 |
| SDK Admin Node.js de Firebase | 4.1.1 | 2017-02-14 |
| Firebase Admin Java SDK | 4.1.2 | 2017-02-14 |
Ajouter Firebase à votre projet Android
Voici les étapes nécessaires pour créer un projet Firebase et pour le connecter à une application Android.
Ajouter Firebase à votre application
Créez un projet Firebase dans la console Firebase et cliquez sur Créer un nouveau projet .
Cliquez sur Ajouter Firebase à votre application Android et suivez les étapes de configuration.
Lorsque vous y êtes invité, entrez le nom du package de votre application .
Il est important de saisir le nom du package utilisé par votre application. Cela ne peut être défini que lorsque vous ajoutez une application à votre projet Firebase.À la fin, vous allez télécharger un fichier
google-services.json. Vous pouvez télécharger ce fichier à tout moment. (ce fichier est situé sous le paramètre de projet dans la console Firebase).Passer android studio View à Project et coller le fichier google-service.json sous le dossier app
L'étape suivante consiste à ajouter le SDK pour intégrer les bibliothèques Firebase dans le projet.
Ajouter le SDK
Pour intégrer les bibliothèques Firebase dans un de vos propres projets, vous devez effectuer quelques tâches de base pour préparer votre projet Android Studio. Vous l'avez peut-être déjà fait dans le cadre de l'ajout de Firebase à votre application.
- Ajoutez des règles à votre fichier
build.gradleniveaubuild.gradlepour inclure le plug-in google-services :
buildscript {
// ...
dependencies {
// ...
classpath 'com.google.gms:google-services:3.1.1'
}
}
Ensuite, dans le fichier Gradle de votre module (généralement app/build.gradle ), ajoutez la ligne de plug-in apply au bas du fichier pour activer le plug-in Gradle:
apply plugin: 'com.android.application'
android {
// ...
}
dependencies {
// ...
compile 'com.google.firebase:firebase-core:9.4.0'//THIS IS FOR ANALYTICS
compile "com.google.firebase:firebase-database:11.0.2"
}
// BELOW STATEMENT MUST BE WRITTEN IN BOTTOM
apply plugin: 'com.google.gms.google-services'
Remarques:
Les données ne peuvent pas être en lecture / écriture sans authentification. Si vous le voulez sans authentification. Modifier les règles dans la console de base de données Firebase.
{"rules": {".read": true, ".write": true}}
Ajouter une autorisation Internet dans Manifest
Mettre à niveau les services Google Play et Google Repository
Ecrire une valeur simple dans la base de données
D'abord, terminez l' installation et la configuration pour connecter votre application à Firebase. Ensuite, de n'importe où dans votre classe, vous pouvez écrire:
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
Il va écrire Hello, Wold! dans le nœud du message , comme ci-dessous:
"your-project-parent" : {
"message" : "Hello, World!"
}
Explication
FirebaseDatabase database = FirebaseDatabase.getInstance();
Le code ci-dessus affectera l'instance FirebaseDatabase dans l'objet de database pour une utilisation ultérieure.
DatabaseReference myRef = database.getReference("message");
Le code ci-dessus fera référence à l'objet myRef dans l'enfant "message" du parent de votre projet (dans cet exemple, il s'agit de "your-project-parent" ). C'est donc "your-project-parent/message"
myRef.setValue("Hello, World!");
Le code ci-dessus définira "Hello, World!" dans le chemin référencé par myRef
Mapper automatiquement le modèle personnalisé à la structure de données
Après avoir défini quelques données sur la base de données et avoir une structure composée de plusieurs noeuds comme celui-ci;
"user" : {
"-KdbKcU2ptfYF2xKb5aO" : {
"firstName" : "Arthur",
"lastName" : "Schopenhauer",
"userName" : "AphorismMan",
"phone" : "+9022-02-1778",
"gender": "M",
"age" : 25
},
"-KdbQFjs9BDviuqQVHjY" : {
"firstName" : "Werner",
"lastName" : "Heisenberg",
"userName" : "whereAmI",
"phone" : "+9005-12-1901",
"gender": "M",
"age" : 75
}
}
vous pouvez classer les structures de données.
Création de classe
Créez une classe de modèle à définir sur la base de données.
@IgnoreExtraProperties
public class User {
public String firstName;
public String lastName;
public String userName;
public String phone;
public String gender;
public int age;
public User() {
}
public User(String firstName, String lastName, String userName, String phone, String gender, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.userName = userName;
this.phone = phone;
this.gender = gender;
this.age = age;
}
}
Quelques points à retenir lors de la création d'une classe de modèle que vous souhaitez mapper sur vos données:
- Vous devez avoir un constructeur vide
- L'étendue des variables / champs doit être publique, de sorte que le DataSnapshot renvoyé par la base de données puisse accéder à ces champs. Si vous ne le faites pas, lorsque vous souhaitez obtenir des données, DataSnapshot ne peut pas accéder à votre modèle en rappel et cela entraînera une exception.
- Les noms des variables / champs doivent correspondre à ceux de votre structure de données.
Envoi à Firebase
Créer un objet utilisateur
User user = new User ( "Arthur","Schopenhauer","AphorismMan","+9022-02-1778","M",25)
et référence
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
Vous avez maintenant la référence de votre base de données. Créez un nœud user avec databaseReference.child("user") . Si vous faites .push() vos modèles trouveront des identifiants uniques créés aléatoirement comme ci-dessus, "-KdbKcU2ptfYF2xKb5aO", "-KdbQFjs9BDviuqQVHjY" .
databaseReference.child("user").push().setValue(user, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
Toast.makeText(getActivity(), "User added.", Toast.LENGTH_SHORT).show();
}
});
Si vous souhaitez définir vos données sous votre clé spécifique, faites-le avec .child("yourSpecificKey") au lieu de .push() .
databaseReference.child("user").child("yourSpecificKey").setValue(user,...