android - 如何遍历 Firebase 实时数据库?
问题描述
我正在尝试从 Firebase 实时数据库中迭代我的数据
但我的代码总是返回 null
任何帮助将不胜感激,如果有一种方法可以根据用户名将数据存储在 Arraylist 中,那就太好了。
谢谢
FirebaseDatabase.getInstance().getReference().child("INFO").addListenerForSingleValueEvent(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String Age = ds.child("Age").getValue(String.class);
String Job = ds.child("Job").getValue(String.class);
Log.d("TAG", Age + " " + Job);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
解决方案
如果字段名称中有任何额外的“:”而不是将其删除,那么您可以使用带有 Age 和 Job 字段的模型类或使用 HashMap 访问数据。
FirebaseDatabase.getInstance().getReference().child("INFO").addListenerForSingleValueEvent(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
HashMap<String,String> map= (HashMap<String, String>) ds.getValue();
String Age = map.get("Age");
String Job = map.get("Job");
Log.d("TAG", Age + " " + Job);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
推荐阅读
- python - Scrapy爬虫规则
- python - 在 Pyqt 中切换框架
- c# - 如何将类型“Emgu.CV.Structure.MCvObjectDetection[]”隐式转换为“System.Drawing.Rectangle[]”?
- javascript - 如何从 Select2 多选中传递 URL 字符串中的多个参数
- c++ - QT C++,从子层次结构调用 main 中的函数
- excel - Excel中的嵌套If函数
- html - 将网页转换为 PDF 并将其保存在特定文件夹中
- apache-spark - 在整周的一周开始日期(星期一)汇总
- java - 从给定的字符串中获取所有可能的回文
- jquery - 为什么内联元素在html中占用更多宽度