Android&Firebase:如何通过密钥从frebase获取数据

时间:2019-10-03 14:02:18

标签: android firebase firebase-realtime-database

Firebase database structure

请问我如何通过手机的IMEI从Firebase获取数据。

enter image description here

我怎么能通过电话TPEID获得清单?!

1 个答案:

答案 0 :(得分:0)

如果您要查找的值始终在0/TPEID中,则可以使用查询来查找包含该值的节点,方法是:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(...);
Query query = ref.orderByChild("0/TPEID").equalTo("869688030960688");
query.addListenerForSingleValueEvent(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot dataSnapshot) {
    for (DataSnapshot tpeSnapshot: dataSnapshot.getChildren()) {
        System.out.println(tpeSnapshot.getKey()); // Tpe0
        System.out.println(tpeSnapshot.child("0/TPEID").getValue(String.class)); // 869688030960688
    }
  }

  @Override
  public void onCancelled(DatabaseError databaseError) {
    throw databaseError.toException();
  }
}

如果该值不是每个子项下的固定路径,您将无法使用Firebase查询进行搜索。在这种情况下,请参见Firebase Query Double Nestedfirebase get url by nested child id for tree likeFirebase query if child of child contains a value