You need to enable JavaScript to run this app. Android Studio中无法访问Firebase数据库且latlng返回null问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中无法访问Firebase数据库且latlng返回null问题求助

问题排查与修复方案

核心错误原因

你当前代码的问题出在类型转换逻辑:Firebase Realtime Database中存储的经纬度默认是数值类型,你直接用getValue(String.class)读取会直接返回null,之后转Double自然会抛出异常,最终导致latlng列表没有正确添加数据。

修复步骤

  • 第一步:先确认你的Firebase Realtime Database中latlong节点下的子节点,确实存在latitude和longitude两个字段,且字段名拼写完全一致(大小写敏感),值为数值类型而非字符串包裹的格式
  • 第二步:修改类型读取逻辑,直接读取Double类型,不需要先读String再转,完整示例代码如下:
mDatabase = FirebaseDatabase.getInstance().getReference().child("latlong");
mDatabase.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        progressDialog.dismiss();
        // 每次回调先清空旧数据,避免重复添加
        latlng.clear();
        for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
            Log.i(TAG,postSnapshot.getValue().toString());
            // 直接读取Double类型,不需要转String
            Double latitude = postSnapshot.child("latitude").getValue(Double.class);
            Double longitude = postSnapshot.child("longitude").getValue(Double.class);
            // 加空判断避免空指针崩溃
            if (latitude != null && longitude != null) {
                LatLng n= new LatLng(latitude, longitude);
                latlng.add(n);
            }
        }
        // 这里可以添加你后续使用latlng列表的逻辑,比如刷新地图标记
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // 不要忽略异常回调,打印错误方便排查
        Log.e(TAG, "读取数据失败: " + databaseError.getMessage());
    }
});
  • 第三步:如果确认你的经纬度在数据库中确实存的是字符串类型,需要先判断读取的字符串不为空再做转换:
String latStr = postSnapshot.child("latitude").getValue(String.class);
String lngStr = postSnapshot.child("longitude").getValue(String.class);
if (!TextUtils.isEmpty(latStr) && !TextUtils.isEmpty(lngStr)) {
    LatLng n = new LatLng(Double.parseDouble(latStr), Double.parseDouble(lngStr));
    latlng.add(n);
}

内容的提问来源于stack exchange,提问作者SriniRockzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 17:45:02