You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中Firebase数据库连接异常,数据上传未显示求助

问题分析与解决方案

核心问题

你遇到的两个关键问题:

  • 数据库URL使用错误,未匹配云端的欧洲区域实例
  • 数据库引用路径多添加了冗余节点,导致数据存储位置和你预期不一致

具体修复步骤

1. 替换为正确的数据库URL

错误提示里已经给出了正确的数据库URL:https://destination-e6a01-default-rtdb.europe-west1.firebasedatabase.app,你代码里用的https://Destination.firebaseio.com/是旧的默认区域URL,必须替换。

2. 修正数据库引用路径

你的代码中database.getReference("destination-e6a01-default-rtdb")是多余的——因为你传入的数据库URL已经指向了这个实例的根节点,再添加这个参数会导致数据被存储到根节点下的destination-e6a01-default-rtdb子节点里,而你在控制台查看的是根节点,所以看不到数据。

3. 更新配置文件

修改数据库区域后,务必从Firebase控制台重新下载最新的google-services.json文件,替换项目app目录下的旧文件,确保本地配置和云端完全同步。

修改后的完整代码

// Initialize Firebase in your app
FirebaseApp.initializeApp(this);

// 使用错误提示里的正确数据库URL
FirebaseDatabase database = FirebaseDatabase.getInstance("https://destination-e6a01-default-rtdb.europe-west1.firebasedatabase.app");
Log.d("TAG", "Database URL: " + database.getReference().toString());

// 直接获取根节点引用,无需额外添加实例名
DatabaseReference myRef = database.getReference();

Spinner categorySpinner = findViewById(R.id.spinner_categories);
String category = categorySpinner.getSelectedItem().toString();

double latitude = 52.519345;
double longitude = -6.610428;

VanCameraLocations speedvancameralocations = new VanCameraLocations(latitude, longitude, category);

myRef.push().setValue(speedvancameralocations);

验证方法

运行修改后的代码后,查看Logcat输出的Database URL,确认和错误提示里的URL完全一致。此时数据会被直接推送到数据库根节点,你在Firebase控制台就能看到新增的数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:23:22