Почему мой код проверки не работает? - PullRequest
0 голосов
/ 16 апреля 2020

Я хочу подтвердить свое имя пользователя и пароль в android studio 3.62, но не могу подтвердить в моем приложении. Я не могу найти ни одной ошибки в этом коде. пожалуйста, дайте решение. во время компиляции кода я получил предупреждение Примечание: Перекомпилируйте с -Xlint: не проверено для деталей.

package com.example.myapplication;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.google.android.material.textfield.TextInputLayout;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;

import java.util.Objects;
import java.util.Queue;

public class Login extends AppCompatActivity {
    Button callSignUp;
    TextInputLayout username,logPass;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_login);
        callSignUp = findViewById(R.id.Signup_Screen);



        callSignUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(Login.this,Main2Activity.class);

                startActivity(intent);
            }
        });


    }

    private Boolean validateUsername() {
        String val;
        val = username.getEditText().getText().toString();
        if (val.isEmpty()) {
            username.setError("Field cannot be empty");
            return false;
        } else {
            username.setError(null);
            username.setErrorEnabled(false);
            return true;
        }
    }
    private Boolean ValidatePass(){
        String val= logPass.getEditText().getText().toString().trim();
        if(val.isEmpty()){
            logPass.setError("Field cannot Empty");
            return false;
        }

        else {
            logPass.setError(null);
            logPass.setErrorEnabled(false);
            return true;
        }
    }

    public void loginUser(View view){
        if(!validateUsername() | !ValidatePass()){
            return ;
        }
        else {
            isUser();

        }
    }

    private void isUser() {

        final String userEnteredUsername = username.getEditText().getText().toString().trim();
        final String userEnteredPassword = logPass.getEditText().getText().toString().trim();

        DatabaseReference reference= FirebaseDatabase.getInstance().getReference("user");
        Query checkUser = reference.orderByChild("username").equalTo(userEnteredPassword);
        checkUser.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                if(dataSnapshot.exists())
                {
                    username.setError(null);
                    username.setErrorEnabled(false);
                    String passwardwardDB = dataSnapshot.child(userEnteredUsername).child("passward").getValue(String.class);
                    if(passwardwardDB.equals(userEnteredPassword)){
                        String NameFromDB = dataSnapshot.child(userEnteredUsername).child("name").getValue(String.class);
                        String userNameFromDB = dataSnapshot.child(userEnteredUsername).child("username").getValue(String.class);
                        String phoneFromDB = dataSnapshot.child(userEnteredUsername).child("ohineno").getValue(String.class);
                        String emailFromDB = dataSnapshot.child(userEnteredUsername).child("email").getValue(String.class);

                        Intent intent=new Intent(getApplicationContext(),Main3Activity.class);
                        intent.putExtra("name",NameFromDB);
                        intent.putExtra("username",userNameFromDB);
                        intent.putExtra("email",emailFromDB);
                        intent.putExtra("nohineno",phoneFromDB);
                        intent.putExtra("passward",passwardwardDB);
                        startActivity(intent);

                    }
                    else
                    {
                        logPass.setError("wrong Passward");
                        logPass.requestFocus();
                    }
                }
                else{
                    username.setError("No Such User Exist");
                    username.requestFocus();
                }

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }

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