我尝试使用电子邮件和密码连接到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
答案 0 :(得分:0)
问题是,系统使用call
来触摸声音。
答案 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信息中心中使用电子邮件/密码启用登录方式