我想从数组中的所有键检索除法和rno,并将数组中的那些值与其他两个字符串进行比较。怎么做?
答案 0 :(得分:0)
您可以生下所有孩子。尝试以下代码:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference reference = database.getReference();
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds: dataSnapshot.getChildren()) {
String rno = ds.child("rno").getValue().toString();
String div = ds.child("division").getValue().toString();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 1 :(得分:0)
我不明白你的问题。但是您可以玩那些满足孩子要求并满足条件的孩子。
DatabaseReference roomRef = dbRef.child("Everybody Room List Messages");
ValueEventListener roomEventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dsKey : dataSnapshot.getChildren()) {
for (DataSnapshot dsNick : dsKey.getChildren()) {
if (dsNick.child("nick").getValue().toString().equals(Nick)) {
dsNick.child("image").getRef().setValue("");
}
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
};
roomRef.addListenerForSingleValueEvent(roomEventListener);
答案 2 :(得分:0)
更新
因此,据我了解,您需要以下代码:
FirebaseDatabase database = FirebaseDatabase.getInstance();
database.getReference().addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot item: dataSnapshot.getChildren()) {
String snapDiv = item.child("division").getValue().toString();
String snapRno = item.child("rno").getValue().toString();
if(snapDiv.equals(divi) && snapRno.equals(roll)){
//Here you can do everythings you need because division and rno value are those you are searching.
}
}
}
});
我无法完全理解您的问题。 您需要为每个孩子找回他的 division 和 rno 值。之后,您需要将它们与其他变量进行比较。但是在会话中,这些变量是2并且是固定的,还是需要与成对列表进行比较?
之后,假设上面的问题将得到澄清,如果字符串匹配,则需要更新sub1,sub2,...,sub5字段的值吗?
请为我们提供更多信息,以了解您的处境并提供更多支持。