Android Firebase管理员用户Java

Android Firebase管理员用户Java,java,android,firebase,Java,Android,Firebase,我有3种类型的用户 家长,老师,管理员 我已经进行了登录活动 对于家长,他们将提供电子邮件和密码,并在firebase验证时提供。当成功的时候,它将进入家长活动 我想让管理员添加和注册家长的活动 他们仍然提供电子邮件并传递给我的登录活动,并且在firebase验证后将直接发送给新的管理员活动 对我的登录名做什么更改 public class Login extends AppCompatActivity implements View.OnClickListener { private

我有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
公共类登录扩展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”

登录后,从数据库返回刚刚登录的用户的数据,并检查其帐户的
类型
,根据
类型
值(
家长
教师
管理员
),您将知道谁登录了您的应用程序,并可以启动相应的屏幕