Java Firebase实时数据库:是否有从不同节点获取值的方法?
我的数据结构是这样的,我想做的是从不同的节点获取值Java Firebase实时数据库:是否有从不同节点获取值的方法?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我的数据结构是这样的,我想做的是从不同的节点获取值 root |__data__people___name1:... | |_name2:... | |_name3:... | ... |_location__latitude:... |_longitude:... 现在,我想获得位置的值LatLng,该值在添加人的孩子时被提前保存。但我
root
|__data__people___name1:...
| |_name2:...
| |_name3:...
| ...
|_location__latitude:...
|_longitude:...
现在,我想获得位置的值LatLng,该值在添加人的孩子时被提前保存。但我所知道的是获得附加值。是否有方法引用不同的节点值
data.child("people").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
//get location's value here
}
}
另外,您能告诉我如何从数据库获取LatLng并将其分配给LatLng吗?所有人的LATLONG是否都相同?这可能会帮助您是的,它将是相同的。请添加数据库结构的屏幕截图,并请使用@回复。
data.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
{
//This loops through the people node
for( DataSnapshot snao : dataSnapshot.child("people").getChildren() )
{}
//get location's value here. Loops through Child nodes
for( DataSnapshot locSnap : dataSnapshot.child("location").getChildren() )
{}
// OR for location
double lat = (double)dataSnapshot.child("location").child("latitude").getValue();
double lng = (double)dataSnapshot.child("location").child("longitude").getValue();
}
}