我试图检索数据库中指定注释中的数据值。这是我的代码
DatabaseReference ref =FirebaseDatabase.getInstance().getReference(USERID);
DatabaseReference refYear =ref.child(extractYear);
DatabaseReference refMonth =refYear.child(extractMonth);
DatabaseReference refDay =refMonth.child(extractDay);
refDay.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getKey().equals(extractDay)){
Log.i(TAG, dataSnapshot.getValue(String.class));
}
else {
Log.i(TAG,"Failed to get value ..");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
这是我的firebase数据库
{
"k5yGCSKwjjXxnhCQGuy9jJzdIAu2" : {
"OverTime" : {
"2017" : {
"12" : {
"01" : "2",
"02" : "3",
"03" : "2",
}
}
}
但代码总是给dataSnapShot null的值。我只是不知道为什么 。你能解释一下吗?谢谢
答案 0 :(得分:0)
根据上面的评论,您可以执行类似
的操作 Map<String, String> map = (Map) dataSnapshot.getValue();
if (map != null) {
String value = map.get("extractDay");
}