Java 如何将用户当前用户详细信息插入Firebase中的另一个节点?
我在Android的Firebase数据库中的请求节点中插入一个数据Java 如何将用户当前用户详细信息插入Firebase中的另一个节点?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我在Android的Firebase数据库中的请求节点中插入一个数据 public void submitRequest(View v) { Request myUserInsertObj = "Pending"; rootReference.child("Request").child("Pending").child(firebaseuser.getUid()).setValue (myUserInsertObj); } 这是我的请求类 Public class Request{
public void submitRequest(View v) {
Request myUserInsertObj = "Pending";
rootReference.child("Request").child("Pending").child(firebaseuser.getUid()).setValue
(myUserInsertObj);
}
这是我的请求类
Public class Request{
public String request_status;
public Request(String request_status){
this.request_status = request_status;
}
Request()
}
我在firebase文档中发现,我可以使用firebaseuser.getDisplayName
获取当前登录的用户名。但是,.getDisplayName
从哪里获得用户名,因为我在应用程序中创建了自己的登录表单和用户注册
问题2:
如果我这样做,这可能吗?因为我想在请求来宾节点中输入一个名称,这样当我在HTML web管理面板中检索它时,数据将更易于读取
rootReference.child("Request")
.child("Pending")
.child(firebaseuser.getUid())
.setValue(myUserInsertObj + firebaseuser.getDisplayName);
如果是,我应该在我的请求类中添加什么
问题3。
如何添加时间戳我知道时间戳在每个系统的数据插入中都非常重要
我在firebase文档中发现,我可以使用firebaseuser.getDisplayName获取当前登录的用户名
是的,没错。调用FirebaseUser
对象:
从Firebase项目的用户数据库返回此用户的主显示名称
关于你问题的第二部分:
但是,由于我在应用程序中创建了自己的登录表单和用户注册,因此.getDisplayName将从何处获取用户名
如上所述,getDisplayName()
将从身份验证过程中获取名称。如果要从自定义用户对象获取用户名,则应首先从数据库获取用户对象,并在需要时使用它
因为我想在请求节点中放置一个名称,这样当我在HTML web管理面板中检索它时,数据将更易于读取
rootReference.child("Request")
.child("Pending")
.child(firebaseuser.getUid())
.setValue(myUserInsertObj + firebaseuser.getDisplayName);
如果要在节点中添加名称,应将显示名称传递给child()
方法,并将not传递给setValue()
。您的代码应该如下所示:
rootReference.child("Request")
.child("Pending")
.child(firebaseuser.getUid() + "_" + firebaseuser.getDisplayName())
.setValue(myUserInsertObj);
Firebase-root
|
--- Request
|
--- Pending
|
--- SxbVg0...uobvk1_Theodore
|
--- //user details
此代码将生成一个子项,该子项可能如下所示:
rootReference.child("Request")
.child("Pending")
.child(firebaseuser.getUid() + "_" + firebaseuser.getDisplayName())
.setValue(myUserInsertObj);
Firebase-root
|
--- Request
|
--- Pending
|
--- SxbVg0...uobvk1_Theodore
|
--- //user details
类有4个重载的setValue()
方法,但这些方法都不允许将对象和字符串作为参数传递
问题3。如何添加时间戳我知道时间戳在每个系统的数据插入中都非常重要
就是如何添加和获取您所谈论的时间戳的。我在这篇文章中看到了您的答案,如果我只是在我的“用户”节点单击submitRequest按钮时从该节点复制用户名,是否可以使用您的答案将节点复制到其他节点?是的,怎么办?我不明白。还有什么问题吗?我真的不知道怎么做
如果你想从自定义用户对象中获取用户名,那么你应该首先从数据库中获取用户对象,并在需要的地方使用它。
是如何从数据库中添加和获取用户的。现在清楚了吗?