我试图通过搜索 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
最佳答案
我想你忘了在 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/