2017-06-09 38 views
0

如何從Firebase數據庫中查找用戶數據? 這是我的數據庫看起來像:
Firebase android如何查找數據

我節省下的令牌我的數據:

String token = FirebaseInstanceId.getInstance().getToken(); 
if (token == null) return; 
databaseReference = FirebaseDatabase.getInstance().getReference(token); 

我需要找到所有的位置,距離所有用戶的協調和建立標記,但一切我做了,它的訪問給當前用戶:

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("Пользователь"));} 
    } 

回答

1
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("[email protected][email protected]> ", 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) { 

      } 
     });