Je saisie un utilisateur dans Firebase comme:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.12' implementation 'com.google.firebase:firebase-analytics:17.2.0' implementation 'com.google.firebase:firebase-auth:19.2.0' implementation 'com.google.firebase:firebase-database:16.0.6' implementation 'com.google.firebase:firebase-firestore:21.3.1' }
3 Réponses :
Le code que vous utilisez est pour la base de données en temps réel, mais la photo de la question est destinée à Fireestore. Si vous souhaitez utiliser FireStore, vous devez effectuer ce qui suit:
Map<String, Object> userData = new HashMap<>(); userData.put("name", "john"); userData.put("address", "address"); userData.put("country", "USA"); db.collection("User").document("User") .set(userData) .addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { Log.d(TAG, "DocumentSnapshot successfully written!"); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error writing document", e); } });
Merci, qu'est-ce que "dB" dans ce cas et comment puis-je l'introduire? Est-il préférable d'utiliser Fireestore et de le lier sur les utilisateurs sur Userid?
dB est ce firebasefiretore dB = firebasefirestore.getinstance (); code> oui u peut lier à l'aide de Firebase auth et fireestore
@Peterhaddad Mieux fournir un code approprié pour Firestore
Cela fonctionne maintenant, mais il écrit toujours dans les mêmes champs. Je suppose que d'une manière ou d'une autre, je dois créer un nouvel utilisateur à la collection dans Firebase à partir de Android Studio et ajouter des données pour cet utilisateur?
@Thename Vérifiez le code que cela fonctionnera si vous voulez expliquer moi ou Pierre vous expliquera
Si vous avez copié le fichier Google-Services.json dans votre projet, vous n'avez pas à vous soucier de private void insertUserData(){
FirebaseUser username = FirebaseAuth.getInstance().getCurrentUser();
String userId = username.getUid();
User user = new User();
user.setName("Test");
user.setSurname("Test");
FirebaseFirestore.getInstance()
.collection("users")
.document(userId)
.set(user, SetOptions.merge());
}
Je ne vois aucune donnée dans Firebase et dans LogCat, il y a une erreur: java.io.IOException: réponse de la clé de périphérique non valide.
Il semble que vous n'ayez pas défini votre SHA1 dans le projet, essayez d'ajouter Débogou SHA1 au projet en suivant les étapes suivantes, générer du projet de débogage SHA1 -> Open Firebase Project -> Cliquez sur l'icône Paramètres (à côté de la vue d'ensemble du projet) -> Cliquez sur le nom du package de Le projet en bas -> Ajouter une empreinte digitale -> Copiez le SHA1
Le code suivant définira l'utilisateur en fonction de l'UID fourni par Firebaseauth CODE>
dependencies {
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'com.google.firebase:firebase-auth:19.2.0'
implementation 'com.google.firebase:firebase-firestore:21.3.1'
}
Merci, maintenant je reçois cette erreur: ibb.co/n6ddjfm , je suppose que quelque chose ne va pas avec mes instruments Je vais donc leur fournir un message original.
Quel type de base de données que vous essayez de mettre en œuvre dans votre demande en temps réel ou à la Fireestore?
J'aimerais utiliser Fireestore dans ma demande
Ensuite, supprimez la base de données en temps réel de vos dépendances afin qu'elle puisse fonctionner correctement comme prévu
Essayé de supprimer Firebase: Firebase-Fireestore: 21.3.1, Firebase: Firebase-Base de données: 16.0.6, Firebase: Firebase-Auth: 19.2.0, Firebase: Firebase-Analytics: 17.2.0 Et il me demande de "Alt + Entrez "pour mettre en œuvre la dépendance, après que l'erreur de mise en œuvre est toujours la même. Est-ce que je manque quelque chose?
Ne vous enlève pas seulement utilisez ces 3 dépendances que j'ai fournies afin que cela fonctionnera comme prévu
Je l'ai fait et je l'ai synchronisé avec succès mais une erreur est toujours là
Laissez-nous Continuer cette discussion en chat .