2016-08-18 13 views
1

おはよう は、私は私のレベル最善を試してみましたが、私は新しい「名前」を入力したときにデータを更新するために失敗した、「年齢」か何かの前に入力されたデータはwiped.Iがdata.Butはまだに失敗更新するプッシュまたは何か他のものを使用したいですそれを行う。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)クラスです。 –

関連する問題