如何访问另一个firebase项目的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何访问另一个firebase项目的数据相关的知识,希望对你有一定的参考价值。

我在firebase上创建了实时数据库,从一个android应用程序即时发送数据和其他应用程序(第二个单独的应用程序不同于应用程序即时使用发送数据,如果数据发生变化,我只想重新接收)我希望接收该数据,我怎么能这样做,因为如果我试图在onCreate中这样访问

FirebaseApp.initializeApp(this);

DatabaseReference data = FirebaseDatabase.getInstance()
            .getReference("https://my-project.firebaseio.com/nodeName");

我正在获得第一个initialzeApp我也尝试从我的应用程序添加google-service.json发送数据,它说它与项目名称不同,我怎么能这样做firebase结构是这样的

{ https://my-project.xxxx somenumbers
    {
        node{
               lat : "value"
               lng : "value"
            }
    }
}
答案

对于您在Android Studio中创建的每个要与特定Firebase项目一起使用的Android应用,您还应该在Firebase控制台中创建一个Android应用。您可以通过转到overview page of your project并单击“添加其他应用程序”来执行此操作。

另一答案

在Firebase控制台中,可以选择在同一项目中添加多个应用。属于同一项目的所有应用程序都可以访问相同的Firebase数据库。每个应用程序都有自己的.json文件连接到同一个项目。因此,如果您想从任何其他应用程序访问数据库,则需要在控制台上将该应用程序与同一Firebase项目连接。要获取值,请对节点进行引用并对其应用值更改侦听器。 Official documentation会帮助你

另一答案

你的代码应该是这样的

DatabaseReference otherDB_data = FirebaseDatabase
.getInstance("https://my-project.firebaseio.com/nodeName")
            .getReference();

代替

DatabaseReference otherDB_data = FirebaseDatabase.getInstance()
            .getReference("https://my-project.firebaseio.com/nodeName");

并且不要忘记在您的应用程序中使用authenticate来获取实时数据库访问权限

注意:如果实时数据库规则类似,则进行身份验证是无用的

{
  "rules": {
    ".read": "auth == null",
    ".write": "auth == null"
  }
}

所以每个人都已经获得了许可

您可以根据需要多次执行此操作,但一次只能与任何给定的数据库实例建立一个连接。

资料来源:Firebase Documentation - Connect your app to multiple database instances

以上是关于如何访问另一个firebase项目的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 获取数据到 Recyclerview 中的片段?

在 Firebase 中添加对另一个项目的访问权限

访问另一个项目中的 firebase 函数环境变量

如何将列表视图中的数据从一个片段发送到另一个片段

如何在单击 RecyclerView 项目时从一个片段移动到另一个片段

如何在另一个片段中访问和使用一个片段的按钮?