Java 如何在android中跳过firebase数据库中的子级
代码 数据库在结果之后还有一个子项,即用户的唯一id。。。显然,我不知道哪个用户是谁,那么我如何跳过这个孩子来访问其中的信息呢Java 如何在android中跳过firebase数据库中的子级,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,代码 数据库在结果之后还有一个子项,即用户的唯一id。。。显然,我不知道哪个用户是谁,那么我如何跳过这个孩子来访问其中的信息呢 数据库结构-不是在result.class中获取结果,而是将其作为字符串和用户的映射 private void fetchResults() { mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEve
数据库结构-不是在result.class中获取结果,而是将其作为字符串和用户的映射
private void fetchResults() {
mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot resultSnapshot: dataSnapshot.getChildren()) {
Results result = dataSnapshot.getValue(Results.class);
resultsList.add(result);
mAdapter.notifyDataSetChanged();
}
mAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
private void fetchResults(){
mDatabaseReference.child(“用户”).child(id).child(“测验”).child(“结果”).addValueEventListener(新的ValueEventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot resultSnapshot:DataSnapshot.getChildren()){
Map Map=(Map)dataSnapshot.getValue();
if(map!=null){
对于(字符串id:map.entrySet()){
User=map.get(id);
//你在这儿想干什么就干什么
}
}
}
mAdapter.notifyDataSetChanged();
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
抛出databaseError.toException();
}
});
您能否共享数据库的结构,并更精确地解释您要获取的确切数据。结果
节点的子节点?如果是,在结果
节点下是否有多个这样的子节点?请稍等片刻,然后上传结构查看已编辑的问题您想要哪个p以及结果看起来如何您的代码中有输入错误。在for
循环中,使用Results result=childSnapshot.getValue(Results.class);
(注意childSnapshot
而不是dataSnapshot
)读取特定子节点/用户节点的数据。
private void fetchResults() {
mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot resultSnapshot: dataSnapshot.getChildren()) {
Map<String, User> map = (Map) dataSnapshot.getValue();
if (map != null) {
for (String id: map.entrySet()) {
User user = map.get(id);
//DO whatever you wan here
}
}
}
mAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});