Firebaseクエリロジックは、Androidで動作しません

グギKariuki:

私がチェックし、特定の名前(会長または事務局長)がデータベース内に存在するかどうかという問い合わせをしたいです。次のようにデータベースの構造です。

Firebaseデータベース

私はこのコードを持っているが、その動作していません。私が間違ってやっているものはありますか?

mDatabase = FirebaseDatabase.getInstance().getReference();
        Query presidentquery = mDatabase.child("validate").child(uid).equalTo("President");
        presidentquery.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()) {
                    for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
                        Candidate p = dataSnapshot1.getValue(Candidate.class);
                        president.setEnabled(false);
                        president.setText("Voted Already");
                    }
                }
                else{

                    president.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {

                            startActivity(new Intent(Home.this, AllCandidates.class));
                            finish();
                        }
                    });
                }
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
            }
        });
フランクPuffelen:

あなたが必要としない場合には、ロードしたい正確なノードを、知っているようですequalTo代わりに、あなたがノードを調べることができます。

Query presidentquery = mDatabase.child("validate").child(uid).child("President");

あなたのコードの残りの部分は同じ滞在することができます。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=375163&siteId=1