Reputation: 41
How do I find user data from Firebase database?
This is how my database looks like:
I'm saving my data under tokens:
String token = FirebaseInstanceId.getInstance().getToken();
if (token == null) return;
databaseReference = FirebaseDatabase.getInstance().getReference(token);
I need to find all location coordinates from all users and set up marker, but everything that I made, it's accessing to current user:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference(FirebaseInstanceId.getInstance().getToken());
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child : dataSnapshot.getChildren()){
double allLat = (double) dataSnapshot.child("lat").getValue();
double allLng = (double) dataSnapshot.child("lng").getValue();
mMap.addMarker(new MarkerOptions().position(new LatLng(allLat, allLng)).title("Пользователь"));}
}
Upvotes: 0
Views: 67
Reputation: 3954
DatabaseReference userRef = FirebaseDatabase.getInstance().getReference();
userRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
HashMap<String,Object> hm = (HashMap<String, Object>) dataSnapshot.getValue();
String allLat = String.valueOf(hm.get("lat"));
String allLng = String.valueOf(hm.get("lng"));
Log.e("!_@_@------> ", allLat + " " + allLng);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Upvotes: 1