Android Firebase检索实时数据
我试图从数据库中获取数据 代码:Android Firebase检索实时数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我试图从数据库中获取数据 代码: mDatabaseUsers=FirebaseDatabase.getInstance().getReference().child(“用户”)mDatabaseUsers.orderByChild(“名称”).startAt(“m”); mDatabaseUsers.keepSynced(true);mDatabaseUsers.addValueEventListener(新的ValueEventListener(){ @凌驾 公共void onDataCha
mDatabaseUsers=FirebaseDatabase.getInstance().getReference().child(“用户”)mDatabaseUsers.orderByChild(“名称”).startAt(“m”);
mDatabaseUsers.keepSynced(true);mDatabaseUsers.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
Map Map=dataSnapshot.getValue(Map.class);
String name=map.get(“name”);
Toast.makeText(AddFriendActivity.this,nick.toString(),Toast.LENGTH\u SHORT.show();
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
我想得到所有的用户与字母m
它是如何工作的?
谢谢大家!
对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也将包含一个结果列表 因此,您需要在
dataSnapshot
中循环结果:
mDatabaseUsers.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
System.out.println(userSnapshot.child("name").getValue(String.class));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});
另请参见中的简要示例。谢谢!我还有一个问题。如果名称不存在,如何检查数据库以查看?因为我的手机坏了!这个话题以前已经讨论过好几次了。请在此处查看一些最重要的结果:
mDatabaseUsers.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
System.out.println(userSnapshot.child("name").getValue(String.class));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});