Java 在android studio中使用实时firebase进行查询

Java 在android studio中使用实时firebase进行查询,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,首先我很抱歉我的英语不好,我的代码有问题,当我想查询和检查登录的用户是否在数据库中,还要检查他的密码,如果他是游客或导游,当我调试程序时,第一条语句通过,第二条语句是检查密码,他从来没有通过并开始下一页,它说密码是错误的,我如何解决这个问题请:( TextView show7,注册标签; ImageButton imagebuttonn1; EditText tourg_电子邮件地址、tourg_密码; 按钮btnn_登录; 私人消防基地AUTH mAuth1; 私有数据库参考jlogindab

首先我很抱歉我的英语不好,我的代码有问题,当我想查询和检查登录的用户是否在数据库中,还要检查他的密码,如果他是游客或导游,当我调试程序时,第一条语句通过,第二条语句是检查密码,他从来没有通过并开始下一页,它说密码是错误的,我如何解决这个问题请:(

TextView show7,注册标签;
ImageButton imagebuttonn1;
EditText tourg_电子邮件地址、tourg_密码;
按钮btnn_登录;
私人消防基地AUTH mAuth1;
私有数据库参考jlogindabase;
私有Firebase数据库;
进程对话框;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_logintourguide);
//初始化mProgressDialog
mProgressDialog=newprogressdialog(Logintourguide.this);
show7=(TextView)findViewById(R.id.U密码);
show7.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Intent i=新Intent(getApplicationContext(),Forgetpassword.class);
星触觉(i);
}
});
imagebuttonn1=findViewById(R.id.imagebuttonn);
imagebuttonn1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
完成();
}
});
signup\u btn\u label=(TextView)findViewById(R.id.signup\u btn\u label);
signup\u btn\u label.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Intent i=新Intent(getApplicationContext(),activity\u signup\u tourguide.class);
星触觉(i);
}
});
tourg_电子邮件地址=(EditText)findViewById(R.id.tourg_电子邮件地址);
tourg_密码=(EditText)findViewById(R.id.tourg_密码);
btnn_login=(按钮)findviewbyd(R.id.btnn_login);
mAuth1=FirebaseAuth.getInstance();
btnn_login.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串emailPattern=“[a-zA-Z0-9.\u-]+@[a-z]+\.+[a-z]+”;
最终字符串email=tourg_email_address.getText().toString().trim();
最终字符串传递=tourg_password.getText().toString().trim();
如果(TextUtils.isEmpty(电子邮件)){
Toast.makeText(Logintourguide.this,“请输入您的电子邮件”,Toast.LENGTH\u LONG.show();
返回;
}
if(TextUtils.isEmpty(pass)){
Toast.makeText(Logintourguide.this,“请输入密码”,Toast.LENGTH\u LONG.show();
返回;
}
if(tourg_password.length()<8){
Toast.makeText(Logintourguide.this,“密码必须为8或长”,Toast.LENGTH_long.show();
返回;
}
如果(!email.matches(emailPattern)){
Toast.makeText(Logintourguide.this,“无效电子邮件地址”,Toast.LENGTH_LONG.show();
返回;
}
//显示对话框
mProgressDialog.show();
//设置内容视图
mProgressDialog.setContentView(R.layout.progress\u对话框);
//设置透明背景
mProgressDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
///FirebaseDatabase=FirebaseDatabase.getInstance();
FirebaseUser=FirebaseAuth.getInstance().getCurrentUser();
最后一个字符串uid=FirebaseAuth.getInstance().getCurrentUser().getUid();
//DatabaseReference rootRef=FirebaseDatabase.getInstance()
final DatabaseReference uidRef=FirebaseDatabase.getInstance().getReference(“用户”);
最终查询checkUser=uidRef.orderByChild(“电子邮件”).equalTo(电子邮件);
checkUser.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
if(dataSnapshot.exists()){
if(pass.equals(dataSnapshot.child(“密码”).getValue()){
if(dataSnapshot.child(“注册为”).getValue().equals(“导游”)){
String passwordfromDB=(String)dataSnapshot.child(“密码”).getValue(String.class);
String emailfromDB=(String)dataSnapshot.child(“email”).getValue(String.class);
String fullNamefromDB=(String)dataSnapshot.child(“fullName”).getValue(String.class);
String phoneNumberfromDB=(String)dataSnapshot.child(“phoneNumber”).getValue(String.class);
//把它放在那个位置,这样我们就可以把它交给导游课了
Intent Intent=新Intent(getApplicationContext(),TourGuide_Profile.class);
intent.putExtra(“全名”,fullNamefromDB);
intent.putExtra(“电子邮件”,emailfromDB);
intent.putExtra(“电话号码”,phoneNumberfromDB);
intent.putExtra(“密码”,passwordfromDB);
mProgressDialog.disclose();
Toast.makeText(Logintourguide.this,“欢迎回来导游!”,
吐司。长度(短)。show();
星触觉(意向);
}否则{
mProgressDialog.disclose();
Toast.makeText(Logintourguide.this,“抱歉!您无权访问此应用程序!”,
吐司。长度(短)。show();
TextView show7, signup_btn_label;
ImageButton imagebuttonn1;
EditText tourg_email_address, tourg_password;
Button btnn_login;
private FirebaseAuth mAuth1;
private DatabaseReference jLoginDatabase;
private FirebaseDatabase fDatabase;
ProgressDialog mProgressDialog;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_logintourguide);

    //initialise mProgressDialog
    mProgressDialog = new ProgressDialog(Logintourguide.this);
    show7 = (TextView) findViewById(R.id.forgot_password);
    show7.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(getApplicationContext(), Forgetpassword.class);
            startActivity(i);
        }
    });
    imagebuttonn1 = findViewById(R.id.imagebuttonn);
    imagebuttonn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            finish();
        }
    });

    signup_btn_label = (TextView) findViewById(R.id.signup_btn_label);
    signup_btn_label.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(getApplicationContext(), activity_signup_tourguide.class);
            startActivity(i);
        }
    });
    tourg_email_address = (EditText) findViewById(R.id.tourg_email_address);
    tourg_password = (EditText) findViewById(R.id.tourg_password);
    btnn_login = (Button) findViewById(R.id.btnn_login);
    mAuth1 = FirebaseAuth.getInstance();
    btnn_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

            final String email = tourg_email_address.getText().toString().trim();
            final String pass = tourg_password.getText().toString().trim();

            if (TextUtils.isEmpty(email)) {
                Toast.makeText(Logintourguide.this, "Please enter your email", Toast.LENGTH_LONG).show();
                return;
            }

            if (TextUtils.isEmpty(pass)) {
                Toast.makeText(Logintourguide.this, "Please enter your password", Toast.LENGTH_LONG).show();
                return;
            }


            if (tourg_password.length() < 8) {
                Toast.makeText(Logintourguide.this, "password must be 8 or long", Toast.LENGTH_LONG).show();
                return;
            }
            if (!email.matches(emailPattern)) {
                Toast.makeText(Logintourguide.this, "invalid email address", Toast.LENGTH_LONG).show();
                return;
            }


            //show dialog
            mProgressDialog.show();
            //set content view
            mProgressDialog.setContentView(R.layout.progress_dialog);
            //set transparent background
            mProgressDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
            ///FirebaseDatabase database = FirebaseDatabase.getInstance();

            FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

            final String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
            //  DatabaseReference rootRef = FirebaseDatabase.getInstance()
            final DatabaseReference uidRef = FirebaseDatabase.getInstance().getReference("Users");
            final Query checkUser = uidRef.orderByChild("email").equalTo(email);
            checkUser.addValueEventListener(new ValueEventListener() {

                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists()) {
                        if (pass.equals(dataSnapshot.child("password").getValue())) {

                            if (dataSnapshot.child("sign up as").getValue().equals("Tour Guide")) {


                                String passwordfromDB = (String) dataSnapshot.child("password").getValue(String.class);
                                String emailfromDB = (String) dataSnapshot.child("email").getValue(String.class);
                                String fullNamefromDB = (String) dataSnapshot.child("fullName").getValue(String.class);
                                String phoneNumberfromDB = (String) dataSnapshot.child("phoneNumber").getValue(String.class);
                                //put it iin that intent so we can pass it to tourguide class
                                Intent intent = new Intent(getApplicationContext(), TourGuide_Profile.class);
                                intent.putExtra("full name", fullNamefromDB);
                                intent.putExtra("email", emailfromDB);
                                intent.putExtra("phone No", phoneNumberfromDB);
                                intent.putExtra("password", passwordfromDB);
                                mProgressDialog.dismiss();
                                Toast.makeText(Logintourguide.this, "welcome back tour guide!",
                                        Toast.LENGTH_SHORT).show();
                                startActivity(intent);


                            } else {
                                mProgressDialog.dismiss();
                                Toast.makeText(Logintourguide.this, "Sorry ! You are not authorized to access this application!",
                                        Toast.LENGTH_SHORT).show();

                            }
                        } else {
                            mProgressDialog.dismiss();
                            Toast.makeText(Logintourguide.this, "wrong password",
                                    Toast.LENGTH_SHORT).show();
                        }

                    } else {
                        mProgressDialog.dismiss();
                        Toast.makeText(Logintourguide.this, "no such user exist !",
                                Toast.LENGTH_SHORT).show();
                    }
                }


                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {
                    Log.d("Tag", databaseError.getMessage());
                }
            });
            // uidRef.addListenerForSingleValueEvent(valueEventListener);
            // checkUser.addListenerForSingleValueEvent(valueEventListener);


        }

    });
}