Приложение вылетает, когда я нажимаю кнопку регистрации (используя firebase) - PullRequest
5 голосов
/ 18 июня 2019

Всякий раз, когда я нажимаю кнопку регистрации на моей странице входа, приложение падает и не переходит к следующему действию. Я застрял на этом в течение дня, кажется, нигде не могу найти решение.

Вот код, который я написал для метода кнопки регистрации. (emailText и passwordText - это TextInputLayout)

 public void signup(View view){
        if(!validatePassword()|!validateEmail()){
            return;
        }
        else{
            ref = FirebaseDatabase.getInstance().getReference();
            ref.child("users").child(emailText.getEditText().getText().toString()).addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) {

                        emailText.setError("Username or Email already exists, pick another!");
                    } else {

                            mAuth.createUserWithEmailAndPassword(emailText.getEditText().getText().toString(), passwordText.getEditText().getText().toString())
                                    .addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
                                        @Override
                                        public void onComplete(@NonNull Task<AuthResult> task) {
                                            if (task.isSuccessful()) {

                                                FirebaseUser user = mAuth.getCurrentUser();

                                                startActivity(intent);
                                            } else {


                                                Toast.makeText(MainActivity.this, "Authentication failed.",
                                                        Toast.LENGTH_SHORT).show();

                                            }


                                        }
                                    });
                            }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });

        }

    }

Logcat показывает ошибку в 7-й строке, т.е. ref.child (... строка. Я попробовал альтернативу для 7-й линии, как: ref.child("users").child("username").addLi.... Но без прогресса.

Вот лог

Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@1a7dad29 rejected from com.google.firebase.database.core.utilities.DefaultRunLoop$1@28fb68ae[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]
        at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011)
        at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793)
        at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:298)
        at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:503)
        at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:592)
        at com.google.firebase.database.core.utilities.DefaultRunLoop.scheduleNow(com.google.firebase:firebase-database@@16.0.6:105)
        at com.google.firebase.database.core.Repo.scheduleNow(com.google.firebase:firebase-database@@16.0.6:276)
        at com.google.firebase.database.Query.addEventRegistration(com.google.firebase:firebase-database@@16.0.6:233)
        at com.google.firebase.database.Query.addListenerForSingleValueEvent(com.google.firebase:firebase-database@@16.0.6:175)
        at com.example.admin.instagramclone.MainActivity.signup(MainActivity.java:66)
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384) 
        at android.view.View.performClick(View.java:4791) 
        at android.view.View$PerformClick.run(View.java:19903) 
        at android.os.Handler.handleCallback(Handler.java:739) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:135) 
        at android.app.ActivityThread.main(ActivityThread.java:5296) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...