Получение конкретных данных из базы данных Firebase Realtime - PullRequest
0 голосов
/ 30 августа 2018

Пожалуйста, помогите, я хочу получить конкретные данные из базы данных Firebase Realtime. У меня есть 2 пользователя, профессор и студент, и я хочу использовать эти данные для проверки.

База данных FireBase в реальном времени

enter image description here

 firebaseAuth.signInWithEmailAndPassword(email,pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                progressDialog.dismiss();
                if(task.isSuccessful()){

                    //The task is successful || Task Login
                    Toast.makeText(getApplicationContext(),"Successfully Login",Toast.LENGTH_LONG).show();

                        // If the users is professor but if it is student go to userStudent.class
                        finish();
                        startActivity(new Intent(getApplicationContext(),userProf.class));

База данных FireBase в реальном времени

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Попробуйте этот код

firebaseAuth.signInWithEmailAndPassword(email,pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            progressDialog.dismiss();

            if(task.isSuccessful()){

                //The task is successful || Task Login
                Toast.makeText(getApplicationContext(),"Successfully Login",Toast.LENGTH_LONG).show();

                 //user UID
                String userId = task.getResult().getUser().getUid();
                DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child(userId);

                ref.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                        String user = dataSnapshot.child("user").getValue(String.class);

                        if (user.equals("Student")) {

                         startActivity(new Intent(getApplicationContext(),userStudent.class));

                        } else if(user.equals("Professor")) {
                          startActivity(new Intent(getApplicationContext(),userProf.class));
                        }
                        finish();      

                    }

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

                    }
               });

}

Надеюсь, это поможет

0 голосов
/ 31 августа 2018

Это то, что вы ищете

FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser(); 
DatabaseReference reference;
firebaseAuth.signInWithEmailAndPassword(email,pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    progressDialog.dismiss();
                    if(task.isSuccessful()){

                        //The task is successful || Task Login
                       Toast.makeText(getApplicationContext(),"Successfully Login",Toast.LENGTH_LONG).show(); 
                       reference = FirebaseDatabase.getInstance().
                       getReference("dbname").child(user.getUid());


                       reference.addListenerForSingleValueEvent(new ValueEventListener() {
                       @Override
                       public void onDataChange(DataSnapshot dataSnapshot) {
                       for(DataSnapshot datas: dataSnapshot.getChildren()){
                       String usertype=datas.child("user").getValue().toString();

                       // If the users is professor but if it is 
                            // student go to userStudent.class
                       if(usertype.equals("Student")){

                         startActivity(new      
                         Intent(getApplicationContext(),studentProfile.class));
                         finish();

                       }else if (usertype.equals("Professor")) {
                         startActivity(new      
                         Intent(getApplicationContext(),professorProfile.class));
                         finish();
                       }

                      }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {
                    }
                  });






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