通过电子邮件/密码使用 Firebase 身份验证将 Firebase 连接到 Android 应用程序

Posted

技术标签:

【中文标题】通过电子邮件/密码使用 Firebase 身份验证将 Firebase 连接到 Android 应用程序【英文标题】:Connecting Firebase to Android application using Firebase authentication via email/password 【发布时间】:2018-01-04 19:22:22 【问题描述】:

我正在尝试通过电子邮件/密码使用 Firebase 身份验证将 Firebase 连接到我的 android 应用程序。我收到这些错误:

2:16 PM 模拟器:FramebufferData::restore: 警告:纹理被删除而没有取消绑定 FBO

2:16 PM 模拟器:FramebufferData::restore: 警告:文本

下午 2:16 模拟器:ure 被删除而不取消绑定 FBO

你能告诉我这些是什么意思吗?

这是我的代码:

  public class MainActivity extends AppCompatActivity implements View.OnClickListener 

private Button buttonRegsiter;
private EditText editTextEmail;
private EditText editTextPassword;

private ProgressDialog progressDialog;
private FirebaseAuth firebaseAuth;

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    System.out.print("In main");
    firebaseAuth = FirebaseAuth.getInstance();

    progressDialog = new ProgressDialog(this);

    buttonRegsiter = (Button) findViewById(R.id.registerUserButton);
    editTextEmail = (EditText) findViewById(R.id.editTextEmail);
    editTextPassword = (EditText) findViewById(R.id.editTextpassword);

    buttonRegsiter.setOnClickListener(this);



private void registerUser()
    String email = editTextEmail.getText().toString().trim();
    String password = editTextPassword.getText().toString().trim();

    if(TextUtils.isEmpty(email))
        //email field is empty
        Toast.makeText(this,"Please enter email",Toast.LENGTH_LONG).show();
        return;
    

    if(TextUtils.isEmpty(password))
        //password is empty
        Toast.makeText(this,"Please enter your 
            password",Toast.LENGTH_LONG).show();
        return;
    

    //if validations are ok
    //show a progressbar

    progressDialog.setMessage("Registering user...");
    progressDialog.show();

    firebaseAuth.createUserWithEmailAndPassword(email,password)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>
            () 
            @Override
                public void onComplete(@NonNull Task<AuthResult> task)
                if(task.isSuccessful())
                    Toast.makeText(MainActivity.this,"Registration successful",Toast.LENGTH_LONG).show();
                
                else
                    Toast.makeText(MainActivity.this,"Failed to register. Please try again", Toast.LENGTH_LONG).show();
            
              progressDialog.dismiss();
            );



@Override
public void onClick(View view) 
    if(view == buttonRegsiter)
        registerUser();
    

【问题讨论】:

我认为这些警告与 Firebase 没有任何关系。 感谢您的回复。但是每次我尝试使用电子邮件和密码注册时,它都会显示 toast '注册失败。请再试一次。'我以为这就是原因。你能帮我解决这个问题吗? 另外,现在当我在禁用触摸声音后尝试时,我收到一条错误消息 - 01-04 14:31:44.290 3734-3868/com.example.kinnari.trial E/ FA:工作线程上的任务异常:java.lang.NullPointerException:com.google.android.gms.internal.zzcfj.zza(未知来源) 更改您的“注册失败”toast 以包含task.getException().getMessage() 以查看失败的原因。 【参考方案1】:

你删除了需要重新下载的 google-services.json 文件并将其放在 app 文件目录中

【讨论】:

以上是关于通过电子邮件/密码使用 Firebase 身份验证将 Firebase 连接到 Android 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在不使用 Firebase 的情况下使用电子邮件和密码进行 Flutter 身份验证

FireBase 身份验证 mAuth.createUserWithEmailAndPassword(电子邮件,密码)错误

Firebase不会接收电子邮件/密码身份验证

在 Flutter 上使用电子邮件和密码进行 Firebase 身份验证的示例?

设置最小密码长度 Firebase 电子邮件和密码身份验证

该电子邮件地址已被另一个帐户使用(使用电子邮件/密码 Firebase 进行身份验证)