Comment ajouter de nouvelles données dans firebase android

C'est ma logique pour ajouter une nouvelle personne dans la base de données en temps réel Firebase. Mais au lieu de créer une nouvelle entrée, il suffit de mettre à jour les anciennes données avec une nouvelle.

buttonSave.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { /* new Firebase(Config.FIREBASE_URL) .push() .child("title") .setValue(text.getText().toString()); */ Firebase ref = new Firebase(Config.FIREBASE_URL); String name = editTextName.getText().toString().trim(); String address = editTextAddress.getText().toString().trim(); //Creating Person object Person person = new Person(); //Adding values person.setName(name); person.setAddress(address); ref.child("Person").setValue(person); } }); new Firebase(Config.FIREBASE_URL).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { for (DataSnapshot postSnapshot : snapshot.getChildren()) { //Getting the data from snapshot Person person = postSnapshot.getValue(Person.class); //Adding it to a string String string = "Name: "+person.getName()+"\nAddress: "+person.getAddress()+"\n\n"; //Displaying it on textview textViewPersons.setText(string); } } @Override public void onCancelled(FirebaseError firebaseError) { System.out.println("The read failed: " + firebaseError.getMessage()); } }); 

Qu'est-ce qui ne va pas ici? Est-ce que quelqu'un peut m'aider à ce sujet?

  • Android: déterminer si le code doit résider dans une activité ou une vue personnalisée
  • Le paysage d'orientation de l'écran retour au portrait ne fonctionne pas
  • Ffmpeg pour un android (en utilisant le didacticiel: "ffmpeg and Android.mk")
  • AdRequest.Builder ne peut pas être résolu à un type
  • Méthode d'appel dans une activité en cours d'exécution d'un service
  • Incliner une vue de texte dans Android
  • Comment savoir si mon WebView est chargé 100%?
  • Comprendre la nécessité des signaux Android VSYNC
  • Comment puis-je gonfler un menu d'options Android et définir un élément sur Enabled = false?
  • Pourquoi ne puis-je pas démarrer un AVD depuis Eclipse avec 1024 Mo de RAM?
  • Comment puis-je ajouter des saveurs dans un module avec Android Studio?
  • Comment connaître la taille d'un fichier avant de le télécharger?
  • 3 Solutions collect form web for “Comment ajouter de nouvelles données dans firebase android”

    Vous utilisez toujours la même référence

      Person person = new Person(); //Adding values person.setName(name); person.setAddress(address); ref.child("Person").setValue(person); 

    Vérifiez le document :

    L'utilisation de setValue () de cette façon écrase les données à l'emplacement spécifié, y compris les nœuds enfants.

    Dans votre cas, vous importez les mêmes données pour cette raison.

    Vous devez utiliser la méthode push() pour générer une ID unique chaque fois qu'un nouvel enfant est ajouté à la référence Firebase spécifiée.

      Person person = new Person(); //Adding values person.setName(name); person.setAddress(address); Firebase newRef = ref.child("Person").push(); newRef.setValue(person); 

    Vous setValue() référence à l'enfant "Person" et définissez sa valeur ( setValue() ) chaque fois que vous cliquez sur buttonSave , qui ne fait que buttonSave un enfant. Essayez d'utiliser push () à la place.

    Vous pouvez ajouter un nouvel enfant à vos données, telles que:

     mAuth = FirebaseAuth.getInstance(); FirebaseUser user = mAuth.getCurrentUser(); String userId = user.getUid(); Firebase rootRef = new Firebase(Config.USER_URL); Firebase userRef = rootRef.child("Users"); Person newUser = new Person(); newUser.setFirstName(firstName); newUser.setLastName(lastName); userRef.child(userId).setValue(newUser); 

    L'utilisateurId varie lorsque l'utilisateur de journalisation est différent; par conséquent, vous allez toujours à une nouvelle liste de données pour un nouvel utilisateur connecté dans l'utilisateur sur Utilisateurs.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.