0
votes

Ajouter des données dans Firebase

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'
}


0 commentaires

3 Réponses :


1
votes

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);
            }
        });


5 commentaires

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 (); 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



1
votes

Si vous avez copié le fichier Google-Services.json dans votre projet, vous n'avez pas à vous soucier de MyURL STRY> J'ai modifié votre fonction INSERTUSERDATA forte>, qui stocke les données des utilisateurs dans Base de données Firestore

    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());
    }


2 commentaires

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



1
votes

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'
}


8 commentaires

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 .