我有一个具有下一个结构的firebase数据库:
PPostdb-e1e1d
DATOS
USERID
名称
邮件
USERID
发布
PostTITLE
PostTITLE
文本
我正在为发布简单帖子开发一个应用程序,在我添加发布帖子的选项之前,我获取了用户的数据并使用nex代码在活动中显示:
mFirebaseDatabase = FirebaseDatabase.getInstance();
myRef = mFirebaseDatabase.getReference();
...
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
showPersonalData(dataSnapshot);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
private void showPersonalData(DataSnapshot dataSnapshot) {
FirebaseUser user = firebaseAuth.getCurrentUser();
userID=user.getUid().toString();
for(DataSnapshot ds : dataSnapshot.getChildren()){
UserInformation uInfo = new UserInformation();
uInfo.setNAME(ds.child(userID).getValue(UserInformation.class).getNAME());
uInfo.setMAIL(ds.child(userID).getValue(UserInformation.class).getMAIL());
name.setText(uInfo.getNAME());
mail.setText(uInfo.getMAIL());
}
但是现在当有人发布帖子时,我无法获取用户的数据并在我的活动中显示该信息,当我尝试打开该活动时,它就会停止工作。
我该如何解决这个问题?我认为参考文献中有一个错误,但我无法解决它。