我正在尝试从用户检索用户电子邮件,然后使用它从其他firebase数据库节点(如Shared_With节点)获取数据。但由于一些奇怪的原因,我得到Null指针异常。我不知道为什么不检索电子邮件或将其设置为null。这是我的课程,我正在做所有这些:
i-1
这是我的Logcat:
这是我的数据库结构:
答案 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();
这将使电子邮件无效