gpt4 book ai didi

android - 如何从 firebase 数据库中获取作为父级的引用用户 UID? #AskFirebase

转载 作者:行者123 更新时间:2023-11-29 19:26:02 26 4
gpt4 key购买 nike

This is my database in firebase

DatabaseReference myDatabase=FirebaseDatabase.getInstance().getReference();

private FirebaseAuth authData;
private EditText number;


@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_schedule);

number= (EditText)findViewById(R.id.number);

DatabaseReference lastdata=myDatabase.child("QExqazU73kTJllMFtsN0alwH6aq1").child("Schedule").child("Monday").child("Hour");

lastdata.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
String text= dataSnapshot.getValue(String.class);
number.setText(text);
}

@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}

这部分:

DatabaseReference lastdata=myDatabase.child("QExqazU73kTJllMFtsN0alwH6aq1").child("Schedule").child("Monday").child("Hour");

如果我这样写用户 uid,结果就是真的。但是,我想获取属于已登录用户的用户 uid。

如果我写

String user_id= authData.getCurrentUser().getUid();
DatabaseReference userid_database=myDatabase.child(user_id).child("Schedule").child("Monday").child("Hour");

就这样,程序关闭,不再运行。

最佳答案

如果没有看到您的程序关闭时出现的异常,则很难确定。但一个可能的问题是当您尝试读取用户数据时用户尚未登录,这会导致在尝试调用 getUid() 时出现 NullPointerException

该问题的解决方案是等到用户通过身份验证:

 myAuth.addAuthStateListener(new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
System.out.println("onAuthStateChanged:signed_in:" + user.getUid());
String user_id= user.getUid();
DatabaseReference userid_database=myDatabase.child(user_id).child("Schedule").child("Monday").child("Hour");
...
}
}
});

关于android - 如何从 firebase 数据库中获取作为父级的引用用户 UID? #AskFirebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41388668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com