2016-08-18 3 views
1

안녕하세요. 나는 최상을 시도했으나 새로운 "이름", "나이"또는 이전에 입력 한 데이터를 입력 할 때마다 데이터를 업데이트하지 못했습니다. 데이터를 업데이트하기 위해 푸시 또는 다른 것을 사용하려고합니다.하지만 여전히 실패합니다. 그렇게.firebase 데이터베이스 필드를 업데이트하려면 어떻게해야합니까?

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) { 

      } 
     }); 

답변

0

이 같은 JSON 트리가있는 경우 :

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

는이 같은해야 할 데이터베이스의 값을 업데이트하기 :

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

을 그리고 그 업데이트해야합니다 당신의 데이터 베이스! 명확하지 않은 것이 있으면 언제든지 물어보십시오.

+0

사용자 란 클래스 란 무엇입니까? –

+0

push()를 사용할 수있는 방법이 있습니까? @Ghost_Stark –

+0

예, 각 사용자 또는 데이터를 저장하고있는 객체에 대한 데이터 필드를 저장하기 위해 만드는 POJO (Plain Old Java Object) 클래스입니다. –

관련 문제