我正在使用Firebase实时数据库。因此,在用户节点中,它具有所有用户ID,并且在用户内部,ID具有所有用户信息(名称,电子邮件,经度,纬度,密码)。我想做的就是查询数据库,以检查用户名是否相同,如果是,那么我想从同一父级(用户ID)获取longitude
和latitude
的值。
如何通过在同一父级中搜索子项的其他值来检索子项的值
•
问答
xuxianbing11 回答:如何通过在同一父级中搜索子项的其他值来检索子项的值
如果要获取姓名为abc
的用户的经纬度,请尝试以下代码行:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userRef = rootRef.child("user");
Query queryByName = userRef.orderByChild("name").equalTo("anb");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
double latitude = ds.child("latitude").getValue(Double.class);
double longitude = ds.child("longitude").getValue(Double.class);
Log.d(TAG,latitude + "," + longitude);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG,databaseError.getMessage()); //Don't ignore errors!
}
};
queryByName.addListenerForSingleValueEvent(valueEventListener);
您的logcat中的restul将是:
3.077057,101.590268