根据电子邮件查找用户数据

时间:2020-08-21 09:55:10

标签: java android firebase firebase-realtime-database

我已经在LoginPage中收到了用户的电子邮件,现在我想根据他的类型获取他的数据(用户数据包括:手机号码,姓名,生日(最重要的是类型(业务/常规)))可以知道我应该将用户重定向到哪里(如果用户的类型是企业,那么请把他发送到BusinessHomeActivity ..) 您可以看到我的数据库结构(每个UID包含电子邮件,生日,类型,电话号码),这是用户的信息 我希望你可以帮助我 (Java,Android Studio) 谢谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以像这样简单地获取此UID

FirebaseAuth.getInstance().signInWithEmailAndPassword(email, password)
            .addOnCompleteListener(getActivity(), task -> {
                if (task.isSuccessful()) {

                   // here you get the logged-in user UID if login successful
                   String userUID = FirebaseAuth.getInstance().getCurrentUser().getUid()
                   // set the path of your database and get the UID from it
                   String path = FirebaseDatabase.getInstance().getReference("yourRootKey").child("User").child(userUID).child("Email")

                   //add a listener to get value
                   path.addValueEventListener(new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                            // here you can get value from dataSnapshot as above you can achieve from onDataChange and check the type
                            // and navigate to user
                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {
                           Log.e("onCancelled", databaseError.toException());
                        }
                   });
                    
                } else {
                    // login failed display as toast
                }
            });