【问题标题】:How to get the Uid of other users in a group type database?如何获取组类型数据库中其他用户的 Uid?
【发布时间】:2018-05-03 01:51:21
【问题描述】:

所以我正在尝试制作一个显示组中当前成员的回收站视图。下面我有一张我的数据库的图片,基本上我有一个 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);

    }

感谢任何答案/建议,并且也愿意改变我的结构。谢谢

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    删除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) {
       }
    });
    

    快照将在子groupid,然后如果满足条件,您将迭代并获取该用户的ID。

    【讨论】:

    • 其实我已经解决了,正准备写一个答案。它的工作方式与您的答案相同,因此我会将其标记为正确的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 2019-08-18
    • 2021-02-09
    • 2023-03-19
    • 2019-09-18
    • 2016-12-24
    • 1970-01-01
    相关资源
    最近更新 更多