я пытаюсь создать активность регистра в android во время выполнения, элемент управления переходит в метод регистра, и после этого элемент управления останавливается - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь создать действие в реестре в android мой контроль переходит к методу регистрации, но также я выполнил проверку, когда я нажимаю на signUp, он сразу переходит к следующему действию без проверки или регистрации при запуске приложения и что касается активности регистрации, она также работает должным образом, сообщения журнала печатаются, но после того, как метод register не вызвал ничего, управление переходит к методу Register (), после этого он не работает, он непосредственно открывает проверки следующей операции, а также метод создания firebase не здесь доступен код, который я написал

    package com.ap.pran;

    import androidx.annotation.NonNull;
    import androidx.appcompat.app.AppCompatActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.util.Patterns;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.ProgressBar;
    import android.widget.Toast;

    import com.google.android.gms.tasks.OnCompleteListener; 
    import com.google.android.gms.tasks.Task;
    import com.google.firebase.auth.AuthResult;
    import com.google.firebase.auth.FirebaseAuth;
    import com.google.firebase.database.FirebaseDatabase;

    public class SignUp extends AppCompatActivity implements View.OnClickListener {

    ProgressBar progressBar;
    EditText editTextEmail, editTextPassword, editTextMobileNo, editTextVehicleNo, editTextName;
    private static final String TAG = " ANAND MESSAGE";
    private FirebaseAuth mAuth;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sign_up);
        Log.i(TAG, "in onCreate1");
        editTextEmail = (EditText) findViewById(R.id.editTextEmail);
        editTextPassword = (EditText) findViewById(R.id.passWord);
        progressBar = (ProgressBar) findViewById(R.id.progressbar);
        editTextMobileNo = (EditText) findViewById(R.id.editTextMobileNo);
        editTextVehicleNo = (EditText) findViewById(R.id.editTextVehicleNo);
        editTextName = (EditText) findViewById(R.id.editTextName);
        mAuth = FirebaseAuth.getInstance();

        findViewById(R.id.buttonSignUp).setOnClickListener(this);
        findViewById(R.id.SignIn).setOnClickListener(this);

    }


    private void registerUser() {
        Log.i(TAG, "In register method");
        String email = editTextEmail.getText().toString().trim();
        String password = editTextPassword.getText().toString().trim();

        if (email.isEmpty()) {
            editTextEmail.setError("Email is required !!!");
            editTextEmail.requestFocus();
            return;
        }
        if (password.isEmpty()) {

            editTextPassword.setError("Password is required !!!");
            editTextPassword.requestFocus();
            return;
        }
        if (password.length()<6){
            editTextPassword.setError("Password length must be greater than 6");
            editTextPassword.requestFocus();
            return;
        }

        mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()){
                    Toast.makeText(SignUp.this,"User Registred !!!",Toast.LENGTH_SHORT).show();

                }
                else {
                    Toast.makeText(SignUp.this, "User Registration Failed !!!", Toast.LENGTH_SHORT).show();
                }
            }
        });




    }


    @Override
    public void onClick(View v) {

        switch (v.getId()) {
            case R.id.buttonSignUp:
                Log.i(TAG, "In case 1");
                registerUser();
                break;

            case R.id.SignIn:
                startActivity(new Intent(this, MainActivity.class));
                Log.i(TAG, "In case 2");
                break;
        }

    }
}

1 Ответ

0 голосов
/ 22 апреля 2020

Вы должны помнить, что если вы впервые используете этот метод:

mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()){
                Toast.makeText(SignUp.this,"User Registred !!!",Toast.LENGTH_SHORT).show();

            }
            else {
                Toast.makeText(SignUp.this, "User Registration Failed !!!", Toast.LENGTH_SHORT).show();
            }
        }
    });

, он будет работать отлично. Но при регистрации любого пользователя он автоматически входит в систему после завершения регистрации. Таким образом, нет необходимости снова входить в систему при успешной регистрации. Чтобы сделать новую регистрацию снова, вы должны выйти из предыдущего зарегистрированного пользователя в этом приложении.

Примечание:

Я также рекомендую вам использовать Toast.makeText(SignUp.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show(); в выражении else следующим образом, если регистрация fails:

mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()){
                Toast.makeText(SignUp.this,"User Registred !!!",Toast.LENGTH_SHORT).show();

            }
            else {
                  Toast.makeText(SignUp.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
    });

Это поможет определить причину сбоя регистрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...