当前位置: 首页 > 知识库问答 >
问题:

如何从firebase中检索UID并将其添加到firebase数据库的子级

谈渊
2023-03-14

首先,我对firebase数据库很陌生。我正在研究如何从firebase检索当前的UID(即当前登录的UID),并将其与一个值一起插入到firebase的child中。

我正在尝试将我当前的UID和它的值推送到Firebase。我很难把它推到火力点。下面是我的firebase结构:

试用后,我仍然无法获得以下代码来检索UID。我对(new ValueEventListener()以及这一行遇到了麻烦。

Map<String, Queue> data = postSnapshot.getValue(new GenericTypeIndicator<Map<String, Queue>>() {});
    mRef = new Firebase("https://sunwayfinancequeue.firebaseio.com/");
    mRef.child("UserQueue");
    mRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot snapshot) {
            for (DataSnapshot postSnapshot : snapshot.getChildren()) {
                Queue queue = postSnapshot.getValue(Queue.class);
                System.out.println(Queue.getTotalqueue() + " - " + Queue.getServingqueue());
                Map<String, Queue> data = postSnapshot.getValue(new GenericTypeIndicator<Map<String, Queue>>() {});
                Map.Entry<String, Queue> entry = data.entrySet().iterator().next();
                String uid = entry.getKey();
                Log.d("Firebase UID ", uid);

            }
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {
            System.out.println("The read failed: " + firebaseError.getMessage());

        }
    });

下面是我的构造函数

public class Queue {

private static double servingqueue;
private static double totalqueue;
private static String uid;

public Queue(Double servingqueue, Double totalqueue) {
    Queue.servingqueue = servingqueue;
    Queue.totalqueue = totalqueue;

}

public static double getServingqueue() {
    return servingqueue;
}

public static void setServingqueue(double servingqueue) {
    Queue.servingqueue = servingqueue;
}

public static double getTotalqueue() {
    return totalqueue;
}

public static void setTotalqueue(double totalqueue) {
    Queue.totalqueue = totalqueue;
}

public static String getUid() {
    return uid;
}

public static void setUid(String uid) {
    Queue.uid = uid;
    }
}

共有1个答案

陈朗
2023-03-14

您使用的是遗留的Firebase数据库SDK,2.5.x。如果您刚刚开始使用数据库,那么最好使用新的9.x.x SDK,特别是如果您正在使用来自新SDK的Firebase身份验证。如果在同一版本中使用旧的和新的SDK,您可能会遇到问题。请参阅升级指南。

 类似资料:
  • 我对Firebase和Android是新手。我已经在我的Firebase帐户中存储了用户身份验证详细信息(姓名、个人资料图像而不是电子邮件ID)。我想检索那些数据(如姓名等)到我的应用程序的其他部分。如何检索实时数据库子值?

  • 我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:

  • 我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:

  • 我正在做一个项目,我想要一个功能,在WhatsApp上给我们留言,为此,我使用了使用intent的WhatsApp API。在“WhatsApp上向我们发送消息”功能中,我使用了2-3个不同的数字,并将其存储在列表中,并使用random()方法从列表中检索该数字,正如我所希望的那样,每当用户使用该功能时,他/她每次都必须连接不同的数字。但现在我想更改列表中存储的数字。 那么,我如何在每次不改变实际

  • firebase数据库最近的更新似乎有一些变化。我的项目在firebase\u数据库:^7.0.0版本下运行良好,但在firebase数据库的更新版本中,我无法更新项目代码。 以下是v7的工作版本 firebase\u数据库^9.0.12上的同一代码出现错误。我收到的错误在`(DataSnapShot snap)async{…}上错误是 无法将参数类型“Future Function(DataSn

  • 问题内容: 我有一个带有这样的树的firebase数据库 等等… 在我的应用程序中,用户下载项目,而项目下载时,电视主题将从URL播放。当单个项目发生价值事件时,我可以使其正常运行。我希望它从列表中随机选择一个值。如何做到这一点? 由于我的应用程序不包含任何内容,因此编辑可以使用回收视图方法 这是我的单项代码 问题答案: 要解决此问题,请使用以下代码行: 然后使用循环使用随机数提取该值: