Android: сравнивать данные между вводом и данными, полученными из FireBase - PullRequest
0 голосов
/ 20 мая 2018

Пользовательские данные в базе данных:

enter image description here

Класс пользователя:

    public User(String mName, String mEmail, String password, int mAge, String mGender) {
    this.mName = mName;
    this.mEmail = mEmail;
    this.mAge = mAge;
    this.mPassword=password;
    this.mGender = mGender;
}

public String getPassword() {
    return mPassword;
}

public String getEmail() {
    return mEmail;
}

Извлечение таблицы пользователя:

@Override
protected void onStart() {
    super.onStart();

    mDataBase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            mUsers.clear();
            for (DataSnapshot userSnapshot : dataSnapshot.getChildren()) {
                mUser = userSnapshot.getValue(User.class);
                mUsers.add(mUser);

            }
        }

Затем я пытался проверить адрес электронной почты и пароль с помощью ввода:

    mEmail = (String) mEmailEt.getText().toString().trim().toLowerCase();
    mPassword = (String) mPwdEt.getText().toString().trim().toLowerCase();

    mLoginButton = findViewById(R.id.loginBtn);
    mLoginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(validate(mEmail, mPassword) == 1){
                Intent intent = new Intent(getApplicationContext(),MainPage.class);
                startActivity(intent);
            }
            else{
                Toast.makeText(getApplicationContext(),"Login Failed", Toast.LENGTH_LONG).show();
            }
        }
    });



    public int validate(String email, String pwd) {

    for (User user : mUsers) {
        if (email.equals(user.getEmail().trim().toLowerCase()) && pwd.equals(user.getPassword().trim().toLowerCase())){
            return 1;
        }
    }
    return 0;
}

Проблема в том, что я успешно извлек данные, но я понятия не имею, почему сравнение всегда возвращает 0. Я не вижуздесь что-то не так.Любой ответ будет отличной помощью.Спасибо!

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