Java 如何从firebase检索UID并将其添加到firebase DB的子级
首先,我对firebase数据库非常陌生。我正在研究如何从firebase检索当前UID(当前登录的UID),并在整个oncreate过程中将其与一个值一起插入firebase的子级 我正在尝试将我当前的UID及其值推送到Firebase。我很难把它推到firebase。以下是我的firebase结构: (例如,UIDJava 如何从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
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
}