adil developper
adil developper

Reputation: 41

Firebase android, how find data

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

Answers (1)

Rajesh Satvara
Rajesh Satvara

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

Related Questions