Android firebase连接

时间:2018-01-04 05:18:22

标签: android firebase authentication firebase-authentication emulation

我尝试使用电子邮件和密码连接到firebase中的身份验证,但每次输入电子邮件和密码时,我都会注册失败。这是我的代码:

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");
    progressDialog = new ProgressDialog(this);
    firebaseAuth = FirebaseAuth.getInstance();

    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();
    }
}
}  

您能告诉我代码中的错误吗?

这是我在logcat上得到的错误

01-03 23:32:49.811 1570-1620 / system_process E / SoundPool:加载错误/system/media/audio/ui/Effect_Tick.ogg

3 个答案:

答案 0 :(得分:0)

问题是,系统使用call来触摸声音。

  1. 您可以尝试使用任何其他声音或
  2. 转到设备的声音设置&amp;关闭“Touch Sounds”,然后重启设备/模拟器。

答案 1 :(得分:0)

请确保您在firebase信息中心中启用了使用电子邮件/密码登录方法

答案 2 :(得分:0)

我使用firebase通过电子邮件和密码进行注册。它可能是不同的方法,但为我工作。

ggplot(p1Data, aes(Type, Value, fill = Yr)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.9)) +
  theme(axis.title.x = element_blank(), plot.title = element_text(hjust = 0)) +
  geom_text(aes(label = paste(Value, paste(Percentage, "%"), sep = "\n"), 
                y = Value), 
            size = 4, 
            vjust = "inward", 
            position = position_dodge(width = 0.9)) +
  ggtitle("2016 V.S. 2017")  +
  labs(fill = "Catagory")

在(module:app)中添加这些额外的依赖项,将apply plugin放在(module:aap)的底部

public class MainActivity extends AppCompatActivity {

    private int SIGN_IN_REQUEST_CODE=4;
    private FirebaseAuth mAuth;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FirebaseApp.initializeApp(this);
        setContentView(R.layout.activity_main);
        mAuth = FirebaseAuth.getInstance();

        if(FirebaseAuth.getInstance().getCurrentUser() == null) {
            // Start sign in/sign up activity
            startActivityForResult(
                    AuthUI.getInstance()
                            .createSignInIntentBuilder()
                            .build(),
                    SIGN_IN_REQUEST_CODE
            );
        } else {
            // User is already signed in. Therefore, display
            // a welcome Toast
            Toast.makeText(this,
                    "Welcome " + FirebaseAuth.getInstance()
                            .getCurrentUser()
                            .getDisplayName(),
                    Toast.LENGTH_LONG)
                    .show();

            // Load chat room contents
            displayChatMessages();
        }

    }

    private void displayChatMessages() {

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == SIGN_IN_REQUEST_CODE) {
            if(resultCode == RESULT_OK) {
                Toast.makeText(this,
                        "Successfully signed in. Welcome!",
                        Toast.LENGTH_LONG)
                        .show();
                displayChatMessages();
            } else {
                Toast.makeText(this,
                        "We couldn't sign you in. Please try again later.",
                        Toast.LENGTH_LONG)
                        .show();

                // Close the app
                finish();
            }
        }
    }
}

并在Project level模块中添加这些额外的依赖项。

dependencies {
    compile 'com.google.firebase:firebase-core:9.2.0'
    compile 'com.google.firebase:firebase-auth:9.2.0'
    compile 'com.google.firebase:firebase-messaging:9.2.0'
    implementation 'com.firebaseui:firebase-ui:3.1.2'
}
apply plugin: 'com.google.gms.google-services'

请在firebase信息中心中使用电子邮件/密码启用登录方式