DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference locationsRef = rootRef.child("Locations");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
double lat = ds.child("South Bound").child("Latitude").getValue(Double.class);
double lng = ds.child("South Bound").child("Longitude").getValue(Double.class);
Log.d(TAG, lat, ", " + lng);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
locationsRef.addListenerForSingleValueEvent(valueEventListener);
Или используя ваш LocationContent
класс:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference locationsRef = rootRef.child("Locations");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
LocationContent lc = ds.child("South Bound").getValue(LocationContent.class);
Log.d(TAG, lc.getLatitude(), ", " + lc.getLongitude());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
locationsRef.addListenerForSingleValueEvent(valueEventListener);
Если вы намереваетесь использовать второе решение, пожалуйста, имейте в виду, что имена ваших полей в базе данных совпадают с именами полей в вашем классе LocationContent
. Поэтому, пожалуйста, смотрите мой ответ из следующего поста:
Edit:
public LocationContent(String name, double latitude, double longitude) {
Name = name;
Latitude = latitude;
Longitude = longitude;
}
public LocationContent(){
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public double getLatitude() {
return Latitude;
}
public void setLatitude(double latitude) {
Latitude = latitude;
}
public double getLongitude() {
return Longitude;
}
public void setLongitude(double longitude) {
Longitude = longitude;
}