0

Got a problem with my code,have problem to call from database.

private void isUser() {
    final String userEnteredUsername=regUsername.getEditText().getText().toString().trim();
    final String userEnteredPassword=regPassword.getEditText().getText().toString().trim();

    DatabaseReference reference=FirebaseDatabase.getInstance().getReference("users");
    Query checkUser=reference.orderByChild("username").equalTo(userEnteredUsername);
    checkUser.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            if(snapshot.exists()){

                regUsername.setError(null);
                regUsername.setErrorEnabled(false);

                String passwordFromDb=snapshot.child(userEnteredUsername).child("password").getValue(String.class);

                if(passwordFromDb.equals(userEnteredPassword)){

                    regPassword.setError(null);
                    regPassword.setErrorEnabled(false);

                    String nameFromDb=snapshot.child(userEnteredUsername).child("name").getValue(String.class);
                    String usernameFromDb=snapshot.child(userEnteredUsername).child("username").getValue(String.class);
                    String phoneNoFromDb=snapshot.child(userEnteredUsername).child("phoneNo").getValue(String.class);
                    String emailFromDb=snapshot.child(userEnteredUsername).child("email").getValue(String.class);

                    Intent intent = new Intent(getApplicationContext(),MainActivity.class);
                    Toast.makeText(getApplicationContext(),"Welcome",Toast.LENGTH_SHORT).show();

                    intent.putExtra("name",nameFromDb);
                    intent.putExtra("username",usernameFromDb);
                    intent.putExtra("email",emailFromDb);
                    intent.putExtra("phoneNo",phoneNoFromDb);
                    intent.putExtra("password",passwordFromDb);
                    startActivity(intent);
                }
                else {
                    regPassword.setError("Wrong Password");
                    regPassword.requestFocus();
                }
            }
            else{
                regUsername.setError("No such User Exist");
                regUsername.requestFocus();
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {}
    });
}

2020-10-08 11:12:44.273 14309-14309/com.example.auditapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.auditapp, PID: 14309 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference at com.example.auditapp.SignIn$3.onDataChange(SignIn.java:96) at com.google.firebase.database.Query$1.onDataChange(Query.java:179) at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75) at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63) at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:7860) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

Doug Stevenson
  • 297,357
  • 32
  • 422
  • 441
Am33n
  • 1
  • 1

0 Answers0