Как получить один и тот же идентификатор для базы данных аутентификации firebase и базы данных реального времени firebase? Когда пользователь регистрирует свою учетную запись, он получает свой идентификатор в базе данных, но потом я понял, что идентификатор отличается? Как убедиться, что у меня одинаковый идентификатор для обеих баз данных? Различный идентификатор
//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)
Я получилс тем же идентификатором, но затем я сталкиваюсь с другой проблемой, при которой активность моего профиля не может быть отображена
java.lang.NullPointerException: попытка чтения из поля 'java.lang.String com.example.gerobokgo.Model. Customer.name 'для нулевой ссылки на объект
, поэтому я решил изменить первую кодировку обратно.