【发布时间】:2019-11-07 18:19:41
【问题描述】:
我在我的 Android 应用中使用 Firebase 数据库。这是子Users的结构:
正如您在图片中看到的那样,有些项目具有名为 imageURL 的字段,而其他项目没有名为 imageURL 的字段。
这是我的应用程序中的一段代码,我从字段imageURL 获取值:
fuser = FirebaseAuth.getInstance().getCurrentUser();
reference = FirebaseDatabase.getInstance().getReference("Users").child(fuser.getUid());
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
com.mpidesarrollo.buju.Model.User user = dataSnapshot.getValue(User.class);
username.setText(user.getUsername());
if (user.getImageURL().equals("default")){
image_profile.setImageResource(R.mipmap.ic_launcher);
} else {
Glide.with(getApplicationContext()).load(user.getImageURL()).into(image_profile);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
如果数据库中不存在字段 imageURL,我会在以下行出现异常:
if (user.getImageURL().equals("default")){
因为字段 imageURL 不存在。
如何检查字段是否存在以避免异常?
【问题讨论】:
-
.getReference("Users").child(fuser.getUid()).orderbyChild("imageURL").equal("default")
标签: java android firebase firebase-realtime-database