Android-Firebase获取另一张表上的所有数据
实际上,人们可以互相发送请求。我想做的是在一个人的个人资料中显示发送给该人的所有请求。我可以在recyclerview中使用firebase适配器显示所有用户信息,但不能仅显示请求发送者。我该怎么办?如果你能给我们一个主意,我会很高兴的Android-Firebase获取另一张表上的所有数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,实际上,人们可以互相发送请求。我想做的是在一个人的个人资料中显示发送给该人的所有请求。我可以在recyclerview中使用firebase适配器显示所有用户信息,但不能仅显示请求发送者。我该怎么办?如果你能给我们一个主意,我会很高兴的 据我所知,您想要显示父项的子项名称,可以使用此代码 DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Friend_req").child("recieved
据我所知,您想要显示父项的子项名称,可以使用此代码
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Friend_req").child("recieved").child("id_of_reciepent");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String request_sender_id = (String) ds.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
ref.addListenerForSingleValueEvent(eventListener);
要仅显示发送好友请求的好友的姓名,您需要查询数据库两次。请使用以下代码来实现此目的
String uid = firebaseAuth.getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("Friend_req").child("recieved").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String key = ds.getKey();
DatabaseReference userRef = rootRef.child("Users").child();
ValueEventListener eventListener = new ValueEventListener(key) {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot dSnapshot : dataSnapshot.getChildren()) {
String name = dSnapshot.child("Name").getValue(String.class);
Log.d("TAG", name);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
userRef.addListenerForSingleValueEvent(eventListener);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
您的输出将是:
Bob
Second Friend