gpt4 book ai didi

java - Android 中的 Firebase 数据库未更新

转载 作者:行者123 更新时间:2023-12-02 08:44:43 24 4
gpt4 key购买 nike

我有一个 android studio 编码要注册,数据库是 firebase。当我输入数据进行注册时,这些值不会在 firebase 数据库中更新。

enter image description here

但是 Firebase 身份验证已更新。

enter image description here

这是我的注册代码。

public class DriverLogin extends AppCompatActivity {

private EditText mEmail, mPassword;
private Button mLogin, mRegistration;

private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener firebaseAuthListener;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_driver_login);

mAuth = FirebaseAuth.getInstance();

firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null){
Intent intent = new Intent(DriverLogin.this, MapsActivity.class);
startActivity(intent);
finish();
return;
}
}
};

mEmail = (EditText) findViewById(R.id.email);
mPassword = (EditText) findViewById(R.id.password);

mLogin = (Button) findViewById(R.id.Login);
mRegistration = (Button) findViewById(R.id.Registration);

mRegistration.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String email = mEmail.getText().toString();
final String password = mPassword.getText().toString();

mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(DriverLogin.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(!task.isSuccessful()){
Toast.makeText(DriverLogin.this, "Sign up Error!", Toast.LENGTH_SHORT).show();
}else {
String user_id = mAuth.getCurrentUser().getUid();
DatabaseReference current_user_db = FirebaseDatabase.getInstance().getReference().child("Users").child("Driver").child(user_id);
current_user_db.setValue(true);
}
}
});
}
});
}

最佳答案

我认为这里的主要问题是,您对如何制作 Firebase 的数据库结构感到困惑。

  1. 转到 Firebase 控制台,然后转到数据库
  2. 将鼠标悬停至您的根目录。在您的情况下,bit-driver-app 并单击+。这是添加子项
  3. 现在,我猜您想使用许多用户的UID 来制作Driver。因此,在 Name 上只需键入没有值的 Driver 即可。然后再次点击+
  4. 现在我认为这就是您想要user_id的地方
  5. 也许还有一些变量,例如名称

My DB Structure Suggestion

所以,基本上你不能添加子到具有的东西。在您的情况下,您的 Drivervalue=true,它不能有子项,也不会更新

关于java - Android 中的 Firebase 数据库未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61155434/

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