public class loginActivity extends AppCompatActivity {
TextView signup;
TextInputLayout phone,pass;
Button btn_login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
signup = findViewById(R.id.txt_signup);
phone = findViewById(R.id.phone);
pass = findViewById(R.id.pass);
btn_login = findViewById(R.id.btn_login);
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loginUser(view);
}
});
}
private boolean validatePhone(){
String p = phone.getEditText().getText().toString();
if(p.isEmpty()){
phone.setError("field is empty!");
return false;
}
else {
phone.setError(null);
phone.setErrorEnabled(false);
return true;
}
}
private boolean validatePass(){
String p = pass.getEditText().getText().toString();
if(p.isEmpty()){
pass.setError("field is empty!");
return false;
}
else {
pass.setError(null);
pass.setErrorEnabled(false);
return true;
}
}
public void loginUser(View v){
if(!validatePhone() | !validatePass()){
return;
}
else {
isUser();
}
}
private void isUser(){
final String appPhone = Objects.requireNonNull(phone.getEditText()).getText().toString().trim();
final String appPass = Objects.requireNonNull(pass.getEditText()).getText().toString().trim();
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("users");
Query checkUser = databaseReference.orderByChild("phone").equalTo(appPhone);
checkUser.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
phone.setError(null);
phone.setErrorEnabled(false);
String fbasePass = dataSnapshot.child("pass").getValue(String.class);
assert fbasePass != null;
if(fbasePass.equals(appPass)){
phone.setError(null);
phone.setErrorEnabled(false);
// String uPhone = dataSnapshot.child(appPhone).child("phone").getValue(String.class);
String uPhone = dataSnapshot.child("phone").getValue(String.class);
String uAadhar = dataSnapshot.child("aadhar").getValue(String.class);
String ucity = dataSnapshot.child("city").getValue(String.class);
String ufname = dataSnapshot.child("fname").getValue(String.class);
String uemail = dataSnapshot.child("email").getValue(String.class);
Intent intent = new Intent(getApplicationContext(),usrHome.class);
intent.putExtra("phone",uPhone);
intent.putExtra("aadhar",uAadhar);
intent.putExtra("city",ucity);
intent.putExtra("fname",ufname);
intent.putExtra("email",uemail);
startActivity(intent);
}
else {
pass.setError("Wrong password");
pass.requestFocus();
}
}
else {
phone.setError("Please Create Account First");
phone.requestFocus();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
когда я нажимаю кнопку входа в систему, это временно приостанавливается и автоматически перенаправляется на главную страницу моего приложения. Я использовал данные из базы данных firebase в реальном времени при входе в систему. пожалуйста, помогите мне с этим .. я потратил свои 2 дня на решение этой проблемы, но ничего не работает.
в случае, если у вас есть другой код, который может выполнить это требование, чем дайте мне знать.