如何读取通过用户标识的这个firebase数据库子节点?

时间:2016-12-17 19:03:34

标签: android firebase

这是我的firebase数据库,还有更多。我只想获取用户的所有纬度和经度,但我无法通过UID

"user"

    "ODs4wO19sLcht8bobUKFRVkIzu73" : {
      "Email" : "jik@gmail.com",
      "First Name" : "Dummy",
      "Last Name" : "Name",
      "Latitude" : "22.31179464",
      "Longitude" : "73.18581206",
      "Owner Address" : "bskksos",
      "Profile Image" : "https://firebasestorage.googleapis.com/v0/b/streetfood2-4bd8a.appspot.com/o/Profile+Images%2Fcropped-1678023661.jpg?alt=media&token=43a13ac5-3dec-46b4-a38c-3c14475d42fa"
    },
    "OQu7N7hqJ6SLipqFwqutRozDtrz1" : {
      "Email" : "fhfhd@gnail.com",
      "First Name" : "shiv",
      "Last Name" : "singh",
      "Latitude" : "22.31179464",
      "Longitude" : "73.18581206",
      "Mobile Number" : "00000000",
      "Password" : "qwerty",
      "Profile Image" : "https://firebasestorage.googleapis.com/v0/b/streetfood2-4bd8a.appspot.com/o/Profile+Images%2Fcropped1324744850.jpg?alt=media&token=20a0efad-fb57-409d-a0d8-d6249366830d"
    },

1 个答案:

答案 0 :(得分:0)

如果您希望遍历所有用户:

DatabaseReference users = FirebaseDatabase.getInstance().getReference().child("Users");
users.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
            double lat = userSnapshot.child("latitude").getValue(Double.class);
            double lon = userSnapshot.child("longitude").getValue(Double.class);
            System.out.println(lat+","+lon);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});
相关问题