gpt4 book ai didi

java - 显示 Firebase Android 错误用户

转载 作者:搜寻专家 更新时间:2023-11-01 09:26:24 25 4
gpt4 key购买 nike

它显示了一些东西,但来自错误的用户,而不是登录用户。其实就是最新的注册用户。有什么建议么?这是我的代码:

    FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getInstance().getReference("userInfos");

ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {

UserInformation userInformation = dataSnapshot.getValue(UserInformation.class);
vorname.setText(userInformation.vorname);
nachname.setText(userInformation.nachname);
alter.setText(userInformation.alter);
sprachen.setText(userInformation.sprachen);
System.out.println("Prev: " + s);
}

Structure of my database

最佳答案

好吧,您使用的监听器类型是 ChildAdded 类型,当您添加新用户时会触发它(这就是您获得最后添加的用户的原因)要获取当前用户数据用户,请使用一个值事件监听器并传递登录的用户 ID:

 String UID = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference ref = database.getInstance().getReference("userInfos");

ref.child(UID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
UserInformation userInformation = dataSnapshot.getValue(UserInformation.class);
vorname.setText(userInformation.vorname);
nachname.setText(userInformation.nachname);
alter.setText(userInformation.alter);
sprachen.setText(userInformation.sprachen);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});

关于java - 显示 Firebase Android 错误用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50240059/

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