Проблема получения идентификатора пользователя в реальном времени в Firebase - PullRequest
0 голосов
/ 24 декабря 2018
public class UserId {
public String user_id;
public <T extends UserId> T withId(@NonNull final String id){
    this.user_id=id;
    return(T) this;
}
 }         
    @Override
    public void onStart() {
    super.onStart();
    firebaseFirestore.collection("Users").addSnapshotListener(new 
     EventListener<QuerySnapshot>() {
        @Override
        public void onEvent(QuerySnapshot documentSnapshots, 
    FirebaseFirestoreException e) {
            usersList.clear();
            for(DocumentChange ds:documentSnapshots.getDocumentChanges()){
                if(ds.getType()==DocumentChange.Type.ADDED){
                    String user_id=ds.getDocument().getId();
                    Users 
           users=ds.getDocument().toObject(Users.class).withId(user_id);
                    usersList.add(users);
                    userAdapter.notifyDataSetChanged();
                }
            }

        }
    });
     }

В пожарном хранилище я использую эти строки

( 
  String user_id=ds.getDocument().getId();
  Users users=ds.getDocument().toObject(Users.class).withId(user_id);    
) 

, но в реальном времени, что я могу использовать?

Я использую этот метод в пожарном хранилище, чтобы получить идентификатор пользователя.Сейчас я работаю с базой данных в реальном времени и хочу получить идентификатор пользователя здесь. Пожалуйста, помогите мне, как я могу это сделать?

       @Override
  public void onBindViewHolder(@NonNull ViewHolder viewHolder, int position) {
    posi=position;
    ChatUsers listItems = listitem.get(position);
    viewHolder.name.setText(listItems.getName());
    viewHolder.status.setText(listItems.getStatus());
    String thumb_img=listItems.getThumb_img();
    RequestOptions requestOptions=new RequestOptions();
    requestOptions.placeholder(R.drawable.defaultimage);
    Glide.with(context).setDefaultRequestOptions(requestOptions)
  .load(thumb_img).into(viewHolder.img);
    viewHolder.v1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Toast.makeText(context,"jj",Toast.LENGTH_LONG).show();
         Intend in=new Intent(this,Setting.class);
   //  here I want to send user id 

        }
    });
        Picasso.with(context).load(thumb_img).
       placeholder(R.drawable.bus2).into(viewHolder.img);
}

1 Ответ

0 голосов
/ 26 декабря 2018
for (QueryDocumentSnapshot document : task.getResult()) {
    Log.d(TAG, document.getId() + " => " + document.getData());
}
...