2 votes

Comment puis-je changer une liste existante en une nouvelle liste ? || Android - base de données temps réel firebase

Je veux changer la liste existante des "catégories" en une nouvelle liste.

Je sais que mon problème se situe dans le "setPriority()", mais je ne trouve pas la bonne méthode.

La structure de ma base de données :

enter image description here

Mon code :

private void updateData() {
            database = FirebaseDatabase.getInstance();
            mDatabaseRef = database.getReference();

            mDatabaseRef
                    .child("users")
                    .child(Login.userId)
                    .child("categories")
                    .setValue(categories)
                    .addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {

                            if (task.isSuccessful()) {

                                //Update success
                            } else {

                                //Update fail
                            }
                        }
                    });
        }

Merci.

1voto

Md. Asaduzzaman Points 13121

Il n'est pas nécessaire d'interroger la base de données pour mettre à jour la liste. Vous pouvez simplement appeler setValue pour remplacer la liste existante par une nouvelle. Vérifiez ci-dessous :

database = FirebaseDatabase.getInstance();
mDatabaseRef = database.getReference();

mDatabaseRef
    .child("users")
    .child(Login.userId)
    .child("categories")
    .setValue(categories)
    .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {

            if (task.isSuccessful()) {

                //Update success
            } else {

                //Update fail
            }
        }
    });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X