因此,我正在尝试制作一个显示组中当前成员的回收站 View 。下面是我的数据库的图片,基本上我有一个 groupId,它是创建者的 uid,下面我们有 3 个用户和一些其他不相关的数据。
问题是我不确定如何获取特定的 uid 以便我可以像这样获取他们的个人资料信息
groupsDatabase = FirebaseDatabase.getInstance().getReference().child("Groups").child(groupUid);
我也使用像这样设置的动态链接
private void attachParameter(){
Uri link = Uri.parse("https://y95rt.app.goo.gl/Lesn")
.buildUpon()
.appendQueryParameter("groupUid", groupUid)
.build();
generateDynamicLink(link.toString());
}
private void generateDynamicLink(String link) {
Uri dynamicLink = Uri.parse("https://y95rt.app.goo.gl")
.buildUpon()
.appendQueryParameter("link", link)
.appendQueryParameter("apn", "c.kristofer.jaxxx")
.build();
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "Join my group for Lesn");
intent.putExtra(Intent.EXTRA_TEXT, dynamicLink.toString());
startActivity(intent);
}
感谢任何答案/建议,也愿意改变我的结构。谢谢
最佳答案
删除 ProfileInfo
,然后这样做:
Groups
groupid
userid
name: userx
email: userx@gmail.com
userid1
name: usery
email: usery@gmail.com
然后,如果您有一个名称列表,则要检索,请尝试以下操作:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Groups").child(groupUid);
reference.orderByChild("name").equalTo(name_here).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String keys=datas.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
快照会在child groupid
,然后如果满足条件,你会迭代并得到那个用户的id。
关于java - 如何获取组类型数据库中其他用户的Uid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50145832/