美好的一天。
我已经尽力尝试了级别,但是无论何时输入新的“名称”,“年龄”或擦除之前输入的任何数据,都无法更新数据。我想使用推送或其他方式更新数据。但是仍然无法执行那。
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) {
}
});
最佳答案
如果您有这样的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);
那应该更新您的数据库!如果不清楚,请随时提出。