我似乎不能只是从 firebase 数据库中引用用户 ID 下的孩子
Posted
技术标签:
【中文标题】我似乎不能只是从 firebase 数据库中引用用户 ID 下的孩子【英文标题】:I cannot just seem to reference the child under User ID from firebase database 【发布时间】:2019-03-17 16:47:40 【问题描述】:我已经尝试了所有方法来引用子项(用户名),生成的 UID 用于在 Firebase 数据库的文本视图中显示字符串值,但它不会只是显示出来
数据库:
DatabaseReference mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Users").child("uid").child("username");
mDatabaseReference.addValueEventListener(new ValueEventListener()
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
if (dataSnapshot.exists())
String username = Objects.requireNonNull(dataSnapshot.getValue()).toString();
mName.setText(("username" + username ));
else
mName.setText(null);
@Override
public void onCancelled(@NonNull DatabaseError databaseError)
);
文本视图:
总是跑到 else 部分,我做错了什么?
【问题讨论】:
【参考方案1】:您在代码中引用的子项在数据库中不存在,这就是为什么它总是转到 else 部分。
DatabaseReference mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Users").child("uid").child("username");
在您的数据库中,您没有名为uid
的子节点,在节点Users
下您有不同的用户ID,因此您需要执行以下操作:
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String userId = user.getUid();
DatabaseReference mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Users").child(userId).child("username");
这将检索当前登录用户的 id,您将能够检索Username
。
【讨论】:
以上是关于我似乎不能只是从 firebase 数据库中引用用户 ID 下的孩子的主要内容,如果未能解决你的问题,请参考以下文章
markdown 步骤只是从firebase托管页面复制,但在markdown中跟随文本编辑器
Firebase 引用对象不会保存到 SwiftUI 中的变量