android - 获取 Firebase 数据库中所有包含用户 id 的子项

标签 android firebase firebase-realtime-database

我试图通过搜索 firebase 数据库并匹配接收方节点下的用户 ID 来显示当前用户的所有好友请求,但一直不返回任何内容。如何在接收方节点中按用户 ID 进行过滤?

    public void searchForPendingFriendRequests(){
    mUserFriendsReference = mFirebaseDatabase.getReference("friend_request/receiver" + FirebaseAuth.getInstance().getCurrentUser().getUid());
    mUserFriendsReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if(dataSnapshot.getChildrenCount() != 0) {
                mPendingFriendsCard.setVisibility(View.VISIBLE);
                mAllRequestsText.setVisibility(View.VISIBLE);

                for(DataSnapshot child: dataSnapshot.getChildren()) {
                    FriendRequest friendRequest = child.getValue(FriendRequest.class);
                    friendToAdd = friendRequest.getSender();
                    populateCurrentAddFriendData(friendRequest);
                    break;
                }
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {}
    });
}

db 看起来像这个 friend_request ---> {pushid} ---> receiver ---> userid

enter image description here

最佳答案

我想你忘了在 mUserFriendsReference
中添加这个 "/" 改变这一行

  mUserFriendsReference = mFirebaseDatabase.getReference("friend_request/receiver" +FirebaseAuth.getInstance().getCurrentUser().getUid());

对此

  mUserFriendsReference =mFirebaseDatabase.getReference("friend_request/receiver/" +FirebaseAuth.getInstance().getCurrentUser().getUid());

关于android - 获取 Firebase 数据库中所有包含用户 id 的子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47862949/

相关文章:

android - Android 中的 NegativeArraySizeException

android - com.google.android.gms.internal.zzhu : can't find referenced class android. security.NetworkSecurityPolicy

java - "this.this$0"是什么意思?

ios - 使用 UpdateChildValues 从 Firebase 中删除

Firebase Cloud Firestore 多对多关系

firebase - 根据 key 获取 Firebase 条目

android - Havok 物理引擎 - Android

javascript - firestore onSnapshot 更新值,但不更新 VueJS 中的 DOM

android - 在 Android 后台和使用 FCM 时处理 keepSynced()

ios - 未连接时如何在带有回调的Firebase中使用observeSingleEvent?