Firebase 中的 Java 服务器未将信息推送到数据库

标签 java firebase firebase-realtime-database

我最近开始从旧版 Firebase API 迁移到新版 Google Firebase。我已经关注了Getting Started Guide并能够创建管理员访问帐户并生成 JSON 文件,并使用示例代码成功(我认为)初始化 SDK:

FirebaseOptions options = new FirebaseOptions.Builder()
                .setServiceAccount(new FileInputStream("C:\\FileStructure\\Test Dev Project-59ee6eb5842a.json"))
                .setDatabaseUrl("https://test-dev-project-96fd5.firebaseio.com/")
                .build();

        FirebaseApp.initializeApp(options);

我的问题是将任何信息推送到我的数据库中。我运行该应用程序(在 NetBeans 中)并且运行没有任何问题。

// Create a database based on the initialized Firebase App
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        // Reference to the root of the database created.
        DatabaseReference ref = database.getReference();
        // Create a child to the root node
        DatabaseReference dataRef = ref.child("Hello World");
        dataRef.setValue("I'm writing data", new DatabaseReference.CompletionListener() {
            @Override
            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
                if (databaseError != null) {
                    System.out.println("Data could not be saved " + databaseError.getMessage());
                } else {
                    System.out.println("Data saved successfully.");
                }
            }
        });

据我了解,代码根据实例化的App绘制数据库引用,setValue()、push()、update()、事务数据将数据推送回数据库。

我实际上已经复制并粘贴了数据directly from the new API reference page on saving data并且数据仍然没有出现在我的控制台上。我还可以补充一点,我的控制台甚至无法确认我是否正确或错误地推送了数据。

我感觉好像我忘记了一些小事情,并且我不确定我是否正确创建了我的引用。

我对在 Stack Overflow 上发帖还很陌生,所以请告知我是否遗漏了重要数据或正确发布了某些内容。

感谢您抽出宝贵的时间,伙计们。

最佳答案

来自 Frank van Puffelen 的有效回复:

最常见的原因是您的 Java 程序在 Firebase 客户端将数据发送到数据库之前退出。您可以通过将 Thread.sleep(10000) 添加到程序末尾来轻松验证这是否是原因

但是,我也注意到该线程是重复的。原问题可参见here 。虽然此问题涉及转型后的 Google 旗下 Firebase,但解决方案是相同的。

关于Firebase 中的 Java 服务器未将信息推送到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37466958/

相关文章:

android - flutter :FCM 计数通知数

swift - Firebase 删除值无法正常工作

Firebase 数据库并发连接数超过 100k 的策略?

java - 从 firebase 实时数据库读取数据到 TextView

java - java中的内存数据库表

java - 造句功能

Java-Interface 使用接口(interface)

angularjs - 是否可以在 Electron 应用程序上使用 nodejs 依赖项?

firebase - 我怎么知道谁更改了我的 Cloud Function

java - RabbitMQ 不等价参数 'x-max-length-bytes' 异常