gpt4 book ai didi

java - 从 fb 实时数据库检索数据

转载 作者:行者123 更新时间:2023-12-02 02:42:20 25 4
gpt4 key购买 nike

您能帮我在我的个人资料 fragment 中显示用户的姓名吗?我尝试了很多次,但没有成功,我花了将近两周的时间还是不行。

这里是个人资料 fragment 的代码:

private TextView mName, mDesc;


mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();

mName = (TextView) view.findViewById(R.id.name);
mDesc = (TextView) view.findViewById(R.id.desc);
mDatabase = FirebaseDatabase.getInstance().getReference().child("Userss");

retrieveuserinfo();

settings = (Button) view.findViewById(R.id.settings);
settings.setOnClickListener(this);


return view;
}

private void retrieveuserinfo() {
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Users users = dataSnapshot.getValue(Users.class);

String username = users.getUsername();


mName.setText(username);



}

这里你得到了我的实时数据库结构 enter image description here

这里你得到了我的 User.class

public class Users {

String userId;
String username;
String usergenre;

public Users() {
// Default constructor required for calls to DataSnapshot.getValue(User.class)
}

public String getUserId() {
return userId;
}

public String getUsername() {
return username;
}

public String getUsergenre() {
return usergenre;
}

public Users(String userId, String username, String usergenre) {
this.userId = userId;
this.username = username;
this.usergenre = usergenre;

最佳答案

您需要将实际的用户 json 转换为您的 User 对象,而不是 Userss 下的所有对象

而不是:

for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Users users = dataSnapshot.getValue(Users.class);

尝试:

for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Users users = postSnapshot.getValue(Users.class);

关于java - 从 fb 实时数据库检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170242/

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