java - 在单个 Activity 中使用 2 个或更多 Firebase 实时数据库

标签 java android firebase firebase-realtime-database kotlin

作为 Blaze 计划用户,我可以创建多个数据库实例,这样默认数据库就不会卡在 100k 同时连接上。事实是,我试图从两个数据库调用数据,因为一些数据位于数据库 1 中,另一些数据位于数据库 2 中。因此,在 Kotlin 中,我声明了我的 Firebase 实例,如下所示;

val db: DatabaseReference = FirebaseDatabase.getInstance().reference

上面的行适用于默认数据库(Databse 1)。 通常,如果我想为另一个 Activity(现在不是这个)调用数据库 2 中的数据,我需要在 getInstance() 方法中包含实例名称,即 HTTPS 链接,如下所示;

val dataBase: DatabaseReference = FirebaseDatabase.getInstance("https://projectName.firebasio.com").reference

在这种情况下,我尝试使用这个 2 声明,但它似乎给了我错误。

附上图片: 2 DB Instance

Logcat 仅声明它是 E/AndroidRuntime: FATAL EXCEPTION: main 并发生在第二个实例声明时

 val dataBase: DatabaseReference = FirebaseDatabase.getInstance("https://projectName.firebasio.com").reference

日志猫:

Caused by: com.google.firebase.database.DatabaseException: Invalid Firebase Database path: https//projectName.firebaseio.com. Firebase Database paths must not contain '.', '#', '$', '[', or ']' at com.google.android.gms.internal.zzepf.zzqn(Unknown Source:52) at com.google.android.gms.internal.zzepf.zzqo(Unknown Source:13) at com.google.android.gms.internal.zzepd.zzqj(Unknown Source:131) at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source:45) at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source:14) at paackageName.CountryList.(CountryList.kt:22) at java.lang.Class.newInstance(Native Method) at android.app.Instrumentation.newActivity(Instrumentation.java:1173) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2708) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)  at android.app.ActivityThread.-wrap11(Unknown Source:0)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loop(Looper.java:164)  at android.app.ActivityThread.main(ActivityThread.java:6541)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

最佳答案

第二次调用 getInstance() 时的 URL 无效。 “https”后面缺少一个冒号。

关于java - 在单个 Activity 中使用 2 个或更多 Firebase 实时数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160542/

相关文章:

java - Jenkins Email-ext Jelly 脚本(高级概述)

java - 使用 GSON 进行通用 Parcelable——如何检索类类型

android - ViewPager 终止后 fragment 布局不显示

java - NPE 当 getArguments() 来自扩展 fragment 的类时

安卓工作室 : uploading user data after email validation using firebase

android - 在开发和生产中使用不同的 firebase 服务帐户

JTable 单元格更改上的 JAVA 更新数据库

java - SAX 解析器和字符串驻留

java - 获取文件(401 未经授权)- Alfresco

java - 进行查询以检索每个大陆的国家/地区 Firebase 实时数据库