gpt4 book ai didi

java - firebase getValue 方法没有按应有的方式从节点检索值

转载 作者:行者123 更新时间:2023-12-02 03:15:55 25 4
gpt4 key购买 nike

在我的 firebase 数据库中,我有一个节点,它的子节点保存某个位置的纬度和经度,如下面的 json fragment 所示

{
"DriversAvailable" : {
"sfdqfkoxYjXB2YRDTfIaezWgkBd2" : {
".priority" : "dn5bpxwrtz",
"g" : "dn5bpxwrtz",
"l" : [ 33.7925271, -84.3881384 ]
}

我使用以下代码将纬度和经度放入单独的变量中

driverLocationReferenceGetLocation = FirebaseDatabase.getInstance().getReference("DriversAvailable").child(driverFoundID);
driverLocationReferenceGetLocation.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot snapm: dataSnapshot.getChildren()) {
Double latitude = (Double) snapm.child("0").getValue();
Double longitude = (Double) snapm.child("1").getValue();

当我调试它时,它显示值 snapm 的值设置为 1={0=33.79, 1=-84.38},但由于某种原因,实际的纬度和经度变量为 null

最佳答案

不确定什么在您的代码中不起作用,但我绝对建议您监听您要获取其数据的精确节点:

driverLocationReferenceGetLocation = FirebaseDatabase.getInstance().getReference("DriversAvailable").child(driverFoundID);
driverLocationReferenceGetLocation.child("l").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
Double latitude = snapshot.child("0").getValue(Double.class);
Double longitude = snapshot.child("1").getValue(Double.class);

关于java - firebase getValue 方法没有按应有的方式从节点检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56962431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com