Не удается разрешить окончательный FirebaseUser firebaseUser = FirebaseAuth.getInstance();

#java #android #firebase #firebase-authentication

#java #Android #firebase #firebase-аутентификация

Вопрос:

Не удается повторно разрешить

 final FirebaseUser firebaseUser = FirebaseAuth.getInstance();
  

Если я изменю его на

 final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(); 
  

он не разрешит getUid в этом

 if (!user.getUser_id().equals(firebaseUser.getUid())){
                    mUsers.add(user);
  

И если я изменю его на FirebaseUser firebaseUser = FirebaseUser.getInstance(); , он не разрешит getInstance (); Что я могу сделать, чтобы устранить ошибку, пожалуйста, помогите

     private void readUsers() {
        final FirebaseUser firebaseUser = FirebaseAuth.getInstance();
        DatabaseReference reference = FirebaseDatabase.getInstance().getReference("users");

        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                mUsers.clear();
                for (DataSnapshot snapshot : dataSnapshot.getChildren()){
                    User user = snapshot.getValue(User.class);

                    assert user !=null;
                    assert firebaseUser !=null;
                    if (!user.getUser_id().equals(firebaseUser.getUid())){
                        mUsers.add(user);
                    }
                }
                userAdapter = new UserAdapter(getContext(), mUsers);
                recyclerView.setAdapter(userAdapter);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
    }
  

Ответ №1:

FirebaseAuth.getInstance() возвращает экземпляр FirebaseAuth , так что это:

 final FirebaseUser firebaseUser = FirebaseAuth.getInstance();
  

должно быть это вместо:

 final FirebaseAuth auth = FirebaseAuth.getInstance();
  

Затем измените это:

 assert user !=null;
assert firebaseUser !=null;
if (!user.getUser_id().equals(firebaseUser.getUid())){
     mUsers.add(user);
 }
  

в это:

 if (!user.getUser_id().equals(auth.getCurrentUser().getUid())){
     mUsers.add(user);
}