【发布时间】:2019-07-24 19:31:19
【问题描述】:
我有 3 种类型的用户 家长、老师、管理员、
我已经进行了登录活动 对于父母,他们将提供电子邮件和密码以及firebase何时对其进行身份验证。成功后会进入家长活动
我想为管理员添加和注册/注册父母进行活动 他们仍然提供电子邮件并传递给我的登录活动,并在通过 firebase 身份验证后直接进入新的管理员活动
我的登录信息会发生什么变化
public class Login extends AppCompatActivity implements View.OnClickListener {
private EditText editTextEmail;
private EditText editTextPassword;
private Button Login;
private ProgressDialog progressDialog;
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
FirebaseApp.initializeApp(this);
firebaseAuth = FirebaseAuth.getInstance();
if (firebaseAuth.getCurrentUser() != null) {
// profile activity
finish();
startActivity(new Intent(getApplicationContext(), Parent_Home.class));
}
editTextEmail = findViewById(R.id.input_username);
editTextPassword = findViewById(R.id.input_password);
findViewById(R.id.btn_login).setOnClickListener(this);
progressDialog = new ProgressDialog(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_login: {
userLogin();
break;
}
}
}
private void userLogin() {
String email = editTextEmail.getText().toString().trim();
String password = editTextPassword.getText().toString().trim();
if (email.isEmpty()) {
editTextEmail.setError("Email is required");
editTextEmail.requestFocus();
return;
}
if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()){
editTextEmail.setError("Please enter valid email");
editTextEmail.requestFocus();
return;
}
if (password.isEmpty()) {
editTextPassword.setError("Password is required");
editTextPassword.requestFocus();
return;
}
if (password.length()<6 ){
editTextPassword.setError("Minimum of length of password should be 6");
editTextPassword.requestFocus();
return;
}
//if the email&pass is not empty
//display dialog
progressDialog.setMessage("Please Wait...");
progressDialog.show();
firebaseAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new
OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.dismiss();
if (task.isSuccessful()) {
//start profile/ menu activity
finish();
SharedPrefs.saveSharedSetting(Login.this, "CaptainCode", "false");
startActivity(new Intent(getApplicationContext(), Parent_Home.class));
} else {
Toast.makeText(Login.this, "Error", Toast.LENGTH_SHORT).show();
}
}
});
}
}
//Todo: add back confirmation
【问题讨论】: