获取父级firebase android

时间:2017-05-15 09:23:47

标签: android firebase firebase-realtime-database

我想获取当前用户登录的公司名称。

这是我在Firebase中的数据库: enter image description here

如何获得公司名称?

3 个答案:

答案 0 :(得分:1)

要获得该名称,请使用以下代码:

DatabaseReference yourRef = FirebaseDatabase.getInstance().getReference().child("empresas").child("leixoes");

yourRef.addValueEventListener(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot dataSnapshot) {
    String name = (String) dataSnapshot.getKey();
  }

  @Override
  public void onCancelled(DatabaseError databaseError) {
    throw databaseError.toException(); // don't ignore errors
  }
});

希望它有所帮助。

答案 1 :(得分:1)

试试这个。

mFirebaseRef = new Firebase("https://yours.firebaseio.com");
        mFirebaseRef.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot child: dataSnapshot.getChildren()) {
                    Log.i("MainActivity", child.getKey());
                }
            }

            @Override
            public void onCancelled(FirebaseError firebaseError) {
                Log.e("MainActivity", "onCancelled", firebaseError.toException());
            }
        });

答案 2 :(得分:1)

试试这个

DatabaseReference ref= FirebaseDatabase.getInstance().getReference().child("empresas").child("leixoes").child("0");

    ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // to get all membros object ,then you can get company name from it by  
            Membros member= dataSnapshot.getValue(Membros.class);
            String companyName= member.getNomeEMP();

            ////// or you can get "pic" value only /////////
            String companyName= dataSnapshot.child("nomeEMP").getValue(String.class);
         }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

你的pojo应该是那样的

public class Membros {
String emailM, nomeM,tipoM,nomeEMP;
int pontM;

public String getEmailM() {
    return emailM;
}

public void setEmailM(String emailM) {
    this.emailM = emailM;
}

public String getNomeM() {
    return nomeM;
}

public void setNomeM(String nomeM) {
    this.nomeM = nomeM;
}

public String getTipoM() {
    return tipoM;
}

public void setTipoM(String tipoM) {
    this.tipoM = tipoM;
}

public String getNomeEMP() {
    return nomeEMP;
}

public void setNomeEMP(String nomeEMP) {
    this.nomeEMP = nomeEMP;
}

public int getPontM() {
    return pontM;
}

public void setPontM(int pontM) {
    this.pontM = pontM;
}

}