【发布时间】:2023-04-08 01:14:01
【问题描述】:
作为 Blaze 计划用户,我可以创建多个数据库实例,这样默认数据库就不会卡在 10 万个同时连接上。问题是,我正在尝试从两个数据库中调用数据,因为有些数据在数据库 1 中,而另一些在数据库 2 中。因此,在 Kotlin 中,我已将我的 Firebase 实例声明如下;
val db: DatabaseReference = FirebaseDatabase.getInstance().reference
上面的行适用于默认数据库(Databse 1)。 通常,如果我想从数据库 2 中调用另一个 Activity 的数据(现在不是这个),我需要在 getInstance() 方法中包含作为 HTTPS 链接的实例名称,如下所示;
val dataBase: DatabaseReference = FirebaseDatabase.getInstance("https://projectName.firebasio.com").reference
在这种情况下,我尝试使用这个 2 声明,它似乎给了我错误。
Logcat 只声明它是 E/AndroidRuntime: FATAL EXCEPTION: main 并且发生在第二个实例 decalration 是
val dataBase: DatabaseReference = FirebaseDatabase.getInstance("https://projectName.firebasio.com").reference
Logcat:
原因:com.google.firebase.database.DatabaseException:无效 Firebase 数据库路径:https//projectName.firebaseio.com。火力基地 数据库路径不得包含“.”、“#”、“$”、“[”或“]” 在 com.google.android.gms.internal.zzepf.zzqn(未知来源:52) 在 com.google.android.gms.internal.zzepf.zzqo(未知来源:13) 在 com.google.android.gms.internal.zzepd.zzqj(未知来源:131) 在 com.google.firebase.database.FirebaseDatabase.getInstance(未知 资料来源:45) 在 com.google.firebase.database.FirebaseDatabase.getInstance(未知 来源:14) 在 paackageName.CountryList.(CountryList.kt:22) 在 java.lang.Class.newInstance(本机方法) 在 android.app.Instrumentation.newActivity(Instrumentation.java:1173) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2708) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 在 android.app.ActivityThread.-wrap11(未知来源:0) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 在 android.os.Handler.dispatchMessage(Handler.java:105) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6541) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
【问题讨论】:
-
您能否编辑您的问题以具体说明错误?
-
@DougStevenson 已编辑。
标签: java android firebase firebase-realtime-database kotlin