gpt4 book ai didi

java - 从 Firebase 读取数据时出现 NullPointerException

转载 作者:行者123 更新时间:2023-12-02 10:33:09 25 4
gpt4 key购买 nike

我之前曾寻找过此问题的解决方案,但我无法准确理解如何获得 NullPointerException。我的目标是为 textView 设置一条消息,但应用程序会在发生这种情况时崩溃。这是错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.okimin.flashchatnewfirebase.Post.getMessage()' on a null object reference

变量:

private FirebaseUser user;
private FirebaseAuth mAuth;
private DatabaseReference mDatabaseReference;

初始化它们:

mAuth = FirebaseAuth.getInstance();
mDatabaseReference = FirebaseDatabase.getInstance().getReference();
user = FirebaseAuth.getInstance().getCurrentUser();

问题发生的位置:

final String iD= user.getUid();

mDatabaseReference.child("messages").child(iD).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Post postIt = new Post();
postIt.setMessage(dataSnapshot.getValue(Post.class).getMessage()); // Where the problem happens
mtextview.setText(postIt.getMessage());
}
}

课后:

public class Post {
private String message;
private String author;

public Post(){

}



public Post(String message, String author) {
this.message = message;
this.author = author;
}


public String getMessage() {
return message;
}



public String getAuthor() {
return author;
}

public void setMessage(String message) {
this.message = message;
}

public void setAuthor(String author) {
this.author = author;
}
}

结构:

structure

一切正常,直到我得到实际值。

最佳答案

我认为与 @DougStevenson 所说的一样,您的 iD 与 Firebase 数据库中的 iD 不匹配。

在向其中添加 valueEventListener 之前,尝试使用以下几行将其放入日志中。

Log.i("seeThis",iD);

您可以使用 Firebase uid 在数据库中设置 Post 类,然后您的检索也不会出现问题。

我的意思是,您应该使用如下代码在 Firebase 中设置数据:

DatabaseReference ref = FirebaseDatabse.getInstance().getReference().child("messages");

ref.child(user.getUid()).setValue(Post.class);

关于java - 从 Firebase 读取数据时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53490315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com