Firebase Nullpointer例外

时间:2017-05-15 16:54:42

标签: android firebase firebase-realtime-database

我正在尝试从用户检索用户电子邮件,然后使用它从其他firebase数据库节点(如Shared_With节点)获取数据。但由于一些奇怪的原因,我得到Null指针异常。我不知道为什么不检索电子邮件或将其设置为null。这是我的课程,我正在做所有这些:

i-1

这是我的Logcat:

这是我的数据库结构:

DB Structure

2 个答案:

答案 0 :(得分:1)

我怀疑emaill在此声明中为空或null:

mdShare.child(emaill).addValueEventListener(new ValueEventListener() {...}

查看您的日志输出以查看为这些语句记录的内容:

System.out.println("Email add:" + emaill);
...
System.out.println(emaill+"HEH");

另请查看这些语句的输出。也许没有登录用户,因此getCurrentUser()返回null。也可能有用户,但他/她的个人资料中没有电子邮件地址。正如@Indra正确指出的那样,您尚未初始化mAuth

try {
    emaill = mAuth.getCurrentUser().getEmail();
    emaill = emaill.replace(".", "<");
    System.out.println("Email add:" + emaill);
}catch(NullPointerException n){
    System.out.println(n.getMessage());
}

答案 1 :(得分:1)

您忘了初始化您的真相

mAuth = FirebaseAuth.getInstance();

这将使电子邮件无效