java - 如何从 firebase 数据库中获取登录用户的数据
问题描述
我需要这段代码的帮助。
如何从 firebase 数据库中获取登录的用户数据?
这些是我的代码:
public void getUserInfo(){
mFirebaseDatabase = FirebaseDatabase.getInstance();
mUserDatabase = mFirebaseDatabase.getReference("users");
FirebaseUser user = mAuth.getCurrentUser();
mUserDatabase.child(userID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange( com.google.firebase.database.DataSnapshot datasnapshot) {
for (DataSnapshot dataSnapshot : datasnapshot.getChildren()) {
User user1 = dataSnapshot.getValue(User.class);
String firstname = user1.getFirstName();
String secondname = user1.getSecondName();
String email = user1.getEmail();
String enrollment = user1.getEnrollnumber();
String branch = user1.getBranch();
String college = user1.getCollege();
First_name.setText(firstname);
Second_name.setText(secondname);
tx_Email.setText(email);
Enroll_number.setText(enrollment);
}
}
@Override
public void onCancelled(DatabaseError firebaseError) {
/*
* You may print the error message.
**/
}
});
}
任何帮助,将不胜感激!
解决方案
据我所知,您正在将侦听器附加到单个用户的数据。这意味着您不需要dataSnapshot.getChildren()
在onDataChange
.
所以:
public void onDataChange( com.google.firebase.database.DataSnapshot snapshot) {
User user1 = snapshot.getValue(User.class);
String firstname = user1.getFirstName();
String secondname = user1.getSecondName();
String email = user1.getEmail();
String enrollment = user1.getEnrollnumber();
String branch = user1.getBranch();
String college = user1.getCollege();
First_name.setText(firstname);
Second_name.setText(secondname);
tx_Email.setText(email);
Enroll_number.setText(enrollment);
}
推荐阅读
- java - 出现错误无法加载 AppCompat ActionBar,出现未知错误。在 Android Studio 中
- javascript - 未捕获(承诺)类型错误:无法读取未定义的属性“电子邮件”
- python - 如何约束 TensorFlow 中的权重不改变符号?
- python - 更改 x-ticks matplotlib 时出现值错误
- c# - IIS 在 Web Api 中不返回仅 PDF 的 Excel
- python - 如何在 Polyglot python 库找到的实体的原始文本中获取索引?
- excel - 如果其他单元格具有特定文本,则从单元格返回值的公式
- javascript - 带有可观察对象的任务队列
- javascript - 在另一个 JS 文件中使用导出的 JS 函数
- c# - Html 编码/解码 & Html.Raw