lógica de consulta base de fuego que no trabajan en Android

Ngugi Kariuki:

Quiero hacer una consulta que comprueba si existe un cierto nombre (Presidente o Secretario) dentro de una base de datos. La estructura de la base de datos es como sigue.

base de datos de base de fuego

Tengo este código, pero no su trabajo. ¿Hay algo que estoy haciendo mal?

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) {
            }
        });
Frank Puffelen:

Parece que sabes el nodo exacto que desea cargar, en cuyo caso no se necesita una equalTo. En su lugar puede buscar el nodo con:

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

El resto de su código puede permanecer igual.

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=375168&siteId=1
Recomendado
Clasificación