Android Firebase管理员用户Java
我有3种类型的用户 家长,老师,管理员 我已经进行了登录活动 对于家长,他们将提供电子邮件和密码,并在firebase验证时提供。当成功的时候,它将进入家长活动 我想让管理员添加和注册家长的活动 他们仍然提供电子邮件并传递给我的登录活动,并且在firebase验证后将直接发送给新的管理员活动 对我的登录名做什么更改Android Firebase管理员用户Java,java,android,firebase,Java,Android,Firebase,我有3种类型的用户 家长,老师,管理员 我已经进行了登录活动 对于家长,他们将提供电子邮件和密码,并在firebase验证时提供。当成功的时候,它将进入家长活动 我想让管理员添加和注册家长的活动 他们仍然提供电子邮件并传递给我的登录活动,并且在firebase验证后将直接发送给新的管理员活动 对我的登录名做什么更改 public class Login extends AppCompatActivity implements View.OnClickListener { private
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
公共类登录扩展AppCompatActivity实现View.OnClickListener{
私人编辑文本编辑电子邮件;
私人编辑文本编辑密码;
私人按钮登录;
私有进程对话;
私有FirebaseAuth FirebaseAuth;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u登录);
FirebaseApp.initializeApp(本);
firebaseAuth=firebaseAuth.getInstance();
如果(firebaseAuth.getCurrentUser()!=null){
//配置文件活动
完成();
startActivity(新意图(getApplicationContext(),Parent_Home.class));
}
editTextEmail=findViewById(R.id.input\u用户名);
editTextPassword=findViewById(R.id.input\u密码);
findviewbyd(R.id.btn_login).setOnClickListener(this);
progressDialog=新建progressDialog(此);
}
@凌驾
公共void onClick(视图){
开关(view.getId()){
案例R.id.btn\u登录:{
userLogin();
打破
}
}
}
私有void userLogin(){
字符串email=editTextEmail.getText().toString().trim();
字符串密码=editTextPassword.getText().toString().trim();
if(email.isEmpty()){
editTextEmail.setError(“需要电子邮件”);
editTextEmail.requestFocus();
返回;
}
如果(!Patterns.EMAIL\u ADDRESS.matcher(EMAIL.matches()){
editTextEmail.setError(“请输入有效电子邮件”);
editTextEmail.requestFocus();
返回;
}
if(password.isEmpty()){
editTextPassword.setError(“需要密码”);
editTextPassword.requestFocus();
返回;
}
如果(password.length()在注册过程中为每个用户在数据库中添加额外的对象,例如,您可以将其称为类型
。因此,当有人注册您的应用程序时,请让他选择他正在创建的类型
(或者您已经拥有此类型),因此对象将包含创建帐户的信息:parent
或teacher
或admin
。例如:键入:“teacher”
登录后,从数据库返回刚刚登录的用户的数据,并检查其帐户的类型
,根据类型
值(家长
,教师
,管理员
),您将知道谁登录了您的应用程序,并可以启动相应的屏幕