2016-08-18 5 views
1

Guten Tag. Ich habe versucht mein Niveau am besten, aber nicht die Daten zu aktualisieren, immer wenn ich neue "Name", "Alter" oder alles, was die Daten vorher eingegeben wurde wiped.Ich möchte mit Push oder etwas anderes, um die Daten zu aktualisieren.Aber noch immer scheitern zu TU das.Wie kann ich meine Firebase-Datenbankfelder aktualisieren?

nameRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() { 
      @Override 
      public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) { 


       String text = dataSnapshot.getValue(String.class); 
       String ho = name.getText().toString(); 

       nameRef.setValue(ho); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
     genderRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() { 
      @Override 
      public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) { 
       String text = dataSnapshot.getValue(String.class); 
       String ho = gender.getText().toString(); 
       genderRef.setValue(ho); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
     ageRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() { 
      @Override 
      public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) { 
      `enter code here`  String text = dataSnapshot.getValue(String.class); 
       String ho = age.getText().toString(); 
       ageRef.setValue(ho); 

      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
     EmailRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() { 
      @Override 
      public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) { 
       String text = dataSnapshot.getValue(String.class); 
       String ho = email.getText().toString(); 
       EmailRef.setValue(ho); 

      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

Antwort

0

Wenn Sie einen JSON Baum wie folgt aus:

->users 
    ->uid 
     ->name 
     ->age 
     ->gender 
     ->email 

dann die Werte in der Datenbank aktualisieren Sie so etwas tun sollte:

DatabaseReference mFirebaseDBRef = FirebaseDatabase.getInstance().getReference(); 
FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance(); 
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser(); 

//use a POJO and make sure to have a default empty constructor in that class definition 
User user = new User(name, age, gender, email) 
mFirebaseDBRef.child("users").child(mFirebaseUser.getUid()).setValue(user); 

Und das sollte erneuern.das Datenbank! Wenn etwas nicht klar ist, zögern Sie nicht zu fragen.

+0

Was ist Benutzer? Ist das eine Klasse? –

+0

Kann ich push() benutzen? @Ghost_Stark –

+0

Ja, das ist eine POJO-Klasse (Plain Old Java Object), die Sie erstellen, um die Datenfelder für jeden Benutzer oder für welches Objekt, auf dem Sie Daten speichern, zu speichern. –

Verwandte Themen