Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从firebase检索UID并将其添加到firebase DB的子级_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 如何从firebase检索UID并将其添加到firebase DB的子级

Java 如何从firebase检索UID并将其添加到firebase DB的子级,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,首先,我对firebase数据库非常陌生。我正在研究如何从firebase检索当前UID(当前登录的UID),并在整个oncreate过程中将其与一个值一起插入firebase的子级 我正在尝试将我当前的UID及其值推送到Firebase。我很难把它推到firebase。以下是我的firebase结构: (例如,UIDFO2SFEFRYWEJMXR4YIQWM5LQX2和fire base中的值'720') 在尝试之后,我仍然无法获取以下代码来检索UID。我在(新的ValueEventList

首先,我对firebase数据库非常陌生。我正在研究如何从firebase检索当前UID(当前登录的UID),并在整个oncreate过程中将其与一个值一起插入firebase的子级

我正在尝试将我当前的UID及其值推送到Firebase。我很难把它推到firebase。以下是我的firebase结构:

(例如,UID
FO2SFEFRYWEJMXR4YIQWM5LQX2
和fire base中的值
'720'

在尝试之后,我仍然无法获取以下代码来检索UID。我在
(新的ValueEventListener()
以及这行代码方面遇到了问题

Map<String, Queue> data = postSnapshot.getValue(new GenericTypeIndicator<Map<String, Queue>>() {});

您想使用Firebase身份验证。请查看此链接为您的Android应用程序设置Firebase身份验证:

此链接将帮助您管理用户,并向您展示如何获取当前用户的UID:

一旦您设置了Firebase身份验证,您将使用这段代码获取当前用户的UID

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    String UID = user.getUid();
} else {
    // No user is signed in
}

您正在使用旧版。如果您刚刚开始使用数据库,最好使用新版,尤其是使用新SDK中的Firebase身份验证。如果在同一版本中使用旧版和新版SDK,您可能会遇到问题。请参阅。

感谢您的回复,我已设置Firebase auth not long之前。但是我在将uid和存储中的值一起发送回firebase db时遇到问题。谢谢。我使用的是最新的
compile'com.google.firebase:firebase auth:9.8.0'compile'com.google.firebase:firebase数据库:9.8.0'
,但是根据您发布的代码,您还必须拥有
compile'com.firebase:firebase客户端-android:2.5.x'
在您的构建依赖项中。这是旧版SDK。这可以解释某些东西不起作用。感谢您的注意。但是最新的
com.google.firebase:firebase数据库:9.8.0
能够进行存储中的更改吗?是的,在您向
队列
添加no-arg构造函数后,它应该会起作用。我不是确保对队列的两个字段使用
static
。这可能是个问题。
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;
    }
}
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    String UID = user.getUid();
} else {
    // No user is signed in
}