【发布时间】:2020-12-12 10:11:54
【问题描述】:
我有一个将数据发送到 firebase 实时数据库的应用。另一个应用程序从数据库中获取数据并将其显示在活动中。我使用 addValueEventListener 以便每当添加新数据时,第二个应用程序都会显示它。数据基本上是姓名和电话号码。问题是,当我在显示数据的活动上并从其他应用程序输入数据时,由于空指针异常,活动崩溃。经过一些日志后,我发现问题在于名称字段在快照中,但电话字段不在。数据库已正确更新,因此我认为问题在于第二个应用程序从数据库中获取数据的速度太快,并且没有等待将其全部添加到数据库中。这是问题吗?我该如何解决这个问题?
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot s: snapshot.getChildren()){
Button rent = createButton(s.child("Name").getValue().toString(), s.child("Phone").getValue().toString());
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Log.i("ERROR",":C");
}
});
【问题讨论】:
标签: firebase firebase-realtime-database