Получить значение из базы огня;тип неизвестен - PullRequest
0 голосов
/ 20 ноября 2018

Моя структура Firebase выглядит следующим образом.

Firebase ПОС

У меня есть два типа пользователей. Когда я получаю свой снимок, как я могу создать экземпляр моего объекта в зависимости от типа, хранящегося в firebase. Мой код ниже

if(task.isSuccessful()){
   DatabaseReference databaseReference;
   FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();

     if(firebaseUser != null){
        databaseReference = firebaseDatabase.getReference("User").child(firebaseUser.getUid());
        databaseReference.addValueEventListener(new ValueEventListener() {
           @Override
           public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
              //HOW CAN I FIX THIS TO BE THE CORRECT USER TYPE
              User user = dataSnapshot.getValue(User.class);
              Intent intent = null;
              if(user != null){
                 //IF USER IS TYPE 1, CREATE USER OF TYPE 1 AND ADD STUFF TO MY INTENT
                 //IF USER IS TYPE 2, CREATE USER OF TYPE 2 AND ADD STUFF TO MY INTENT
                 finish();
                 startActivity (intent);
              }
        }
     }
  }

1 Ответ

0 голосов
/ 20 ноября 2018

Для этого вы можете просто проверить значение вашего узла userTypeId из базы данных и сделать то, что вы хотите.

То, что я говорю, выглядит примерно так в коде:

databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {

            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if(user != null){

                 if(dataSnapshot.child("userTypeId").getValue(String.class).equals(0))
                        // user type 1
                 else 
                       // user type 2

                finish();
                startActivity (intent);
               }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.d(TAG, "onCancelled", databaseError.toException());
            }


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