android - 写入 Firebase 数据库时出现 NullPointerException

标签 android firebase firebase-realtime-database nullpointerexception

我正在尝试向我的 Firebase 数据库中的用户添加一个项目,但每次我尝试访问我想要写入数据的位置时,我都会收到 NullPointerException。这个位置还不存在(因为我需要先往里面写数据);但是,当添加“userID”部分并在其下方添加信息时,这不是问题,如下所示:

database = FirebaseDatabase.getInstance();
userReference = database.getReference("accounts");
DatabaseReference currentUserDB = userReference.child(user.getUid());

currentUserDB.child("name").setValue(name);

上面的代码部分添加了一个带有用户 ID 的键,然后在其中添加了用户名。这与我接下来要做的类似。

我想做的是添加一个名为“item”的部分,并在其中添加“first”和值名称。像这样this .

在用户第一次单击按钮运行此代码之前,键“item”和“first”不存在。此代码还应适用于项目“second”等。

database = FirebaseDatabase.getInstance();
DatabaseReference dbR = database.getReference("accounts").child(uid);
reference = dbR.child("item");

DatabaseReference databaseReference = reference.child("test");

databaseReference.child("name").setValue(name);

我在这一行得到一个 NullPointerException:

DatabaseReference databaseReference = reference.child("test");

我不确定为什么。

我确信这已经以某种形式得到了回答,因为它看起来很简单,但我还没有看到任何地方讨论一次将两个 key 写入数据库。

感谢任何帮助。如果这是重复的,我深表歉意。 干杯

编辑:我知道 NullPointerException 是什么,我只是不知道为什么我在这种情况下得到一个。两组代码非常相似,我不确定为什么第二组代码会给我一个错误。

最佳答案

你应该这样写你的代码:

DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
    reference.child("accounts")
            .child("test")
            .child("item")
            .child("first")
            .child("name")
            .setValue(name);

关于android - 写入 Firebase 数据库时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54128877/

相关文章:

android - 如何在 Android 中仅获取 TTS 区域设置

javascript - firebase 事务和 if-then-else 行为

arrays - 通过数组获取 Firebase 数据

firebase - 如何获取 Firebase 函数的 IP 地址或范围?

java - 在 "FirebaseDatabase.getInstance()"只有 getInstance 部分显示未解析的符号?

android - 如何使用菜单选项从另一个 Activity 格式化一个 Activity

android - 如何获取android中已读消息的数量?

android - 删除 Android 中 ImageButton 的默认背景,但保留 onClick 突出显示

Swift/firebase/firebase 中 child 数量的升序

javascript - 给定 uids 数组,如何在 React Native 中返回 Firebase 数据的 JavaScript 对象?