【问题标题】:Android - Firebase realtime database reference pointing to invalid url [duplicate]Android - Firebase 实时数据库参考指向无效的 url [重复]
【发布时间】:2021-03-09 19:23:25
【问题描述】:

Android Java。

当尝试引用我的实时数据库时,我使用它来获取参考:

FirebaseDatabase rootDatabase;
DatabaseReference rootReference;

rootDatabase = FirebaseDatabase.getInstance();
Log.i("rootDatabase", String.valueOf(rootDatabase));

rootReference = rootDatabase.getReference("users");
Log.i("rootReference", String.valueOf(rootReference));

控制台中显示的 URL 与我的 firebase 项目关联的 URL 不同: 控制台输出

I/rootDatabase: com.google.firebase.database.FirebaseDatabase@<ProjectID>
I/rootReference: https://<Project-Name>-default-rtdb.firebaseio.com/users

当我从控制台打开 URL 时,我看到一个页面显示“未找到”。

但在 firebase 控制台中的数据库上方和 firebase_url 下的 google-services.json 中显示的 URL 是:

https://<Project-Name>-default-rtdb.europe-west1.firebasedatabase.app/

有什么方法可以将 Firebase 数据库的位置更改为不在欧洲西部地区,或者更改某种方式以获取对新服务器区域的引用?非常感谢。

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    当您使用以下代码行时:

    Log.i("rootDatabase", String.valueOf(rootDatabase));
    

    您将 rootDatabase 对象传递给 valueOf() 方法,该对象的类型为 FirebaseDatabase。所以你只打印对象的字符串表示,它实际上是一个内存地址。但是,当您使用此行时:

    Log.i("rootReference", String.valueOf(rootReference));
    

    您将不同的对象传递给 valueOf() 方法。这次对象的类型是 DatabaseReference。现在对象的 String 表示实际上是一个指向您的项目的 URL。

    有什么方法可以将 firebase 数据库的位置更改为不在欧洲西部地区

    一旦您设置了位置,就无法更改。如果您需要其他位置,则需要创建另一个项目,将位置设置为欧洲西部区域以外的其他区域,再次下载 JSON 文件即可。

    【讨论】:

    • 非常感谢您的回复,我的问题是我从 Log.i("rootReference", String.valueOf(rootReference)); 获得的 URL 与我控制台页面上的 URL 关联的 URL 不同。
    • 在进一步研究重建我的项目以使新的 google-services.json 被识别后,我深表歉意。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    相关资源
    最近更新 更多