java - 如何使用 firebase 身份验证创建用户名、地址和详细信息

标签 java android firebase firebase-authentication

我知道如何使用 firebase 创建电子邮件和密码身份验证,但这只会创建电子邮件和 ID,但我如何向该 ID 添加名称和更多详细信息,例如我如何调用 user.getdisplayname?

这是我创建验证邮箱​​和密码的代码

bv.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
                final ProgressDialog pros=ProgressDialog.show(Register.this,"please wait..","registerring..",true);
        mAuth.createUserWithEmailAndPassword(email.getText().toString(),password.getText().toString()).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                pros.dismiss();
                if(task.isSuccessful()){
                    Toast.makeText(Register.this,"sucsseful",Toast.LENGTH_LONG).show();
                    Intent i=new Intent(Register.this,login.class);
                }else {
                    Log.e("ERROr",task.getException().toString());
                    Toast.makeText(Register.this,task.getException().getMessage(),Toast.LENGTH_LONG).show();
                }
            }
        });

如果你说也要创建数据库,那我怎么把它和用户认证联系起来呢?

private FirebaseUser UserDetaill = FirebaseAuth.getInstance().getCurrentUser() ;

最佳答案

您可以像这样使用UserProfileChangeRequest

UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
                .setDisplayName("XXX YYYY")
                .setPhotoUri(URI)
                .build();
UserDetaill.updateProfile(profileUpdates);

使用任务

 FirebaseAuth.getInstance().createUserWithEmailAndPassword(email, password)
            .continueWithTask(new Continuation<AuthResult, Task<? extends Object>>() {
                @Override
                public Task<? extends Object> then(@NonNull Task<AuthResult> task) throws Exception {
                    UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
                            .setDisplayName("XXX YYYY")
                            .setPhotoUri(URI)
                            .build();
                    return task.getResult().getUser().updateProfile(profileUpdates);
                }
            });

关于java - 如何使用 firebase 身份验证创建用户名、地址和详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45055629/

相关文章:

android - IllegalStateException fragment 在方向更改后未创建 View

android - Android Maps API v2 上的跳跃标记

java - 可滚动的 PagerTabStrip

javascript - 使用身份验证安全规则时 Firebase 读取权限被拒绝

java - Firestore 查询中函数调用的顺序重要吗?

java - 如何将断言添加到 if ..else 条件

java - Hibernate Criteria - 返回具有子记录的父记录

Java 打印错误 toString() 无法打印

java - Java如何将windows放到桌面上?

firebase - 如何在创建时按时间顺序执行 firestore 查询