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

时间:2016-05-26 16:58:49

标签: 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上实际发布是相当新的,所以请告知我是否遗漏了重要数据或发布了正确的内容。

谢谢你的时间,伙计。

1 个答案:

答案 0 :(得分:2)

来自Frank van Puffelen的工作回复:

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

然而,我也注意到这个帖子是重复的。可以找到原始问题here。虽然这个问题涉及转型后的Google拥有的Firebase,但解决方案是一样的。