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)