在随机密钥下获取Firebase子密钥

时间:2018-10-02 13:40:09

标签: android firebase

我想从数组中的所有键检索除法和rno,并将数组中的那些值与其他两个字符串进行比较。怎么做?

3 个答案:

答案 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字段的值吗?

请为我们提供更多信息,以了解您的处境并提供更多支持。