如何在android firebase中使用其子项获取推送键

时间:2017-06-29 15:01:37

标签: android firebase firebase-realtime-database

enter image description here

我希望借助其子值

获取推送键

2 个答案:

答案 0 :(得分:1)

假设您拥有代理商名称,那么您可以创建Firebase数据库查询以查找具有该代理商名称的匹配子节点:

DatabaseReference ref = FirebaseDatabase.getInstance();
Query query = ref.orderByChild("agencyname").equalTo("Babaji");
query.addChildEventListener(new ChildEventListener() {
  @Override
  public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
    Log.d(TAG, "onChildAdded:" + dataSnapshot.getKey()+" "+ dataSnapshot.getChild("agencyname").getValue());
  }
  ...

对于onChildAdded等于agencyname的每个节点,都会调用上面的Babaji方法。

我建议您花一些时间在Firebase文档中,特别是dealing with lists of dataquerying上的部分。

答案 1 :(得分:0)

您也可以使用

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
Query query =  mDatabase.child("suppliersdata");

 query.orderByChild("agencyname").equalTo("Babaji").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
                Log.i("db", "onDataChange: Key : " + childSnapshot.getKey());
            }
        }

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