gpt4 book ai didi

java - 如何在 firebase auth 和 firebase - 实时数据库中获取相同的 id?

转载 作者:行者123 更新时间:2023-12-01 22:47:57 25 4
gpt4 key购买 nike

如何为 Firebase 身份验证和 Firebase 实时数据库获取相同的 ID?当用户注册他们的帐户时,他们会在数据库中获取他们的ID,但后来我意识到ID是不同的?如何确保两个数据库的 ID 相同? Different Id

//create customer
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(RegisterActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
authData = firebaseAuth.getUid();
String id = databaseReference.push().getKey();
Customer info = new Customer(id, name, email, address, telephone_number);
FirebaseDatabase.getInstance().getReference("Customer")
.child(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid())
.setValue(info).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
regProgressBar.setVisibility(View.VISIBLE);
Toast.makeText(RegisterActivity.this, "Registration Complete", Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}
});
}
}
});


 FirebaseDatabase.getInstance().getReference("Customer")
.child(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid())

我尝试用这个替换上面的代码

 FirebaseDatabase.getInstance().getReference("Customer")
.child(id)

same id where i want to achieve

我获得了相同的 ID,但随后遇到了另一个问题,即我的个人资料 Activity 无法显示

java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.example.gerobokgo.Model.Customer.name' on a null object reference

所以我决定将第一个编码改回来。

最佳答案

没关系,我已经解决了这个问题

只需删除 String id = databaseReference.push().getKey();并更改FirebaseDatabase.getInstance().getReference("Customer").child(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid()).setValue(info).addOnCompleteListener(new OnCompleteListener<Void>()

databaseReference.child(authData).setValue(info).addOnCompleteListener(new OnCompleteListener<Void>()

就是这样!

关于java - 如何在 firebase auth 和 firebase - 实时数据库中获取相同的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58466000/

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