gpt4 book ai didi

java - 访问firebase数据库的.push键以更新android中的个人资料信息

转载 作者:行者123 更新时间:2023-12-02 12:02:32 25 4
gpt4 key购买 nike

我正在使用 Firebase 开发一个 Android 应用程序,因此使用 .push 方法将数据保存到 Firebase 并将其显示到 list 中,我想要更新存储在数据库中的UserInfo,但我很困惑如何访问push方法生成的Key来更新个人资料信息,或以任何其他方式设置个人资料信息在经过身份验证的用户 ID 下并读取所有这些数据,以便它将在我显示的列表上更新。 enter image description here

或者任何其他方法可以通过子值中的User_id访问它?

下面的 myOnBtnClick 代码

btn_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Validation()) {
final String name = Field_fullName.getText().toString();
String phone = firebaseUser.getPhoneNumber();
String bg = field_bloodGroups.getSelectedItem().toString();
String DOB = Field_dateOfBirth.getText().toString();
String state = Field_state.getText().toString();
final String country = Field_country.getText().toString();
String city = Field_city.getText().toString();
UserSignUp userSignUp = new UserSignUp(name, phone, bg, DOB, state, country, city, firebaseUser.getUid());
DBref.child("DONORS").child(country).push().setValue(userSignUp).addOnCompleteListener(reg.this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(reg.this, DBref.getKey() + "", Toast.LENGTH_SHORT).show();
Toast.makeText(reg.this, "User Created", Toast.LENGTH_SHORT).show();
editor = sharedPreference.edit();
editor.putInt("UserReg", 1);
editor.putString("UserCountry", country);
editor.putInt("FirstTimeRun", 1);
editor.apply();
startActivity(new Intent(reg.this, Main2Activity.class));
finish();
}
}
});
}
}
});

最佳答案

当您使用 push() 方法生成唯一 key 时,您可以像这样获取和存储 key :

String key = yourRef.getKey();

要更新记录,请使用以下代码行:

FirebaseDatabase.getInstance().getReference()
.child("Pakistan")
.child(key)
.child("user_ID")
.setValue("123456789");

编辑:

DatabaseReference keyRef = DBref.child("DONORS").child(country).push();
String key = keyRef.getKey();
Log("TAG", key);
keyRef.setValue(userSignUp).addOnCompleteListener(/* ... */);

一旦获得此 key ,您就可以在其他 DatabaseReference 中使用它。当您在 onComplete() 方法中使用 DBref.getKey() 时,不会获取推送的 key ,而只是获取 DBref 的 key .

关于java - 访问firebase数据库的.push键以更新android中的个人资料信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47143019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com