java - 如何从 Firebase 数据库中检索多个数据?
问题描述
这是我编写的一段代码,但它返回了整个模式。
mDatabase = FirebaseDatabase.getInstance().getReference().child("/News");
mTitle = (TextView)findViewById(R.id.title_view);
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String title=dataSnapshot.getValue().toString();;
mTitle.setText(title);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {}
});
解决方案
要解决这个问题,只需使用以下代码行:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference newsRef = rootRef.child("News");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String desc = ds.child("desc").getValue(String.class);
String title = ds.child("title").getValue(String.class);
Log.d(TAG, desc + " / " + title);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage());
}
};
newsRef.addListenerForSingleValueEvent(valueEventListener);
您的 logcat 中的输出将是:
desc1 / title1
desc2 / title2
推荐阅读
- javascript - 使用 location.href 定位父级
- dns - 我可以检测用户提供的电子邮件是否实际上是分发列表?
- c# - 从 .net 桌面应用程序运行 ECS 任务
- c++ - 无法跨 dll 导出高兴的符号
- c++ - 虚幻引擎和 Clion(无法解析某些符号)
- java - 我对检查数字是否为素数的程序的逻辑有疑问。(我必须使用3种方法)
- php - 在codeigniter中对搜索进行分页时出错
- c++ - 在这种情况下,有什么好方法可以访问类模板的另一个实例的私有成员?
- javascript - 工作剪贴板脚本与 Chrome 不兼容。适用于边缘/IE
- ios - 如何在使用 UINavigationController 转换时向 UIWindow 添加子视图并防止其消失?