我已经将Firebase添加到我的Android Studio中,但我遇到了一个错误:
W/持久连接:pc_0-Firebase数据库连接被服务器强制终止。不会尝试重新连接。原因:数据库位于不同的区域。请将数据库URL更改为https://destination-e6a01-default-rtdb.europe-west1.firebasedatabase.app">
我更改了区域,但什么也没发生在我的应用程序中,我的java代码中有这样的内容:
// Initialize Firebase in your app
FirebaseApp.initializeApp(this);
// Create a reference to your Firebase Realtime Database instance using the URL
FirebaseDatabase database = FirebaseDatabase.getInstance("https://Destination.firebaseio.com/");
Log.d("TAG", "Database URL: " + database.getReference().toString());
DatabaseReference myRef = database.getReference("destination-e6a01-default-rtdb");
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说一些信息被上传到了数据库中,但我在网上查看数据库时使用的数据库没有显示我的数据库有人能帮我吗
您将收到以下错误消息:
Firebase数据库连接被服务器强制终止。不会尝试重新连接。原因:数据库位于不同的区域。
因为您正在向getInstance()方法传递错误的URL:
FirebaseDatabase database = FirebaseDatabase.getInstance("https://Destination.firebaseio.com/");
您项目的URL不是:
https://Destination.firebaseio.com/
但是:
https://destination-e6a01-default-rtdb.europe-west1.firebasedatabase.app
因此,为了解决此问题,请将database
声明更改为:
FirebaseDatabase database = FirebaseDatabase.getInstance("https://destination-e6a01-default-rtdb.europe-west1.firebasedatabase.app");
除此之外,请删除以下代码行:
//DatabaseReference myRef = database.getReference("destination-e6a01-default-rtdb");
因为数据库URL应该传递给getInstance()
方法,而不是getReference()
方法。还有一点需要提一下,当您传递URL时,您必须使用https://
传递,而不是不使用它