我想检索 Firebase 实时数据库中保存的数据,但结果始终为 null
。
下面是代码。
try{
mDatabase = FirebaseDatabase.getInstance().getReference();
myBal.setText("0");
mDatabase.child("users").child(mUserId).child("claim").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String amount = dataSnapshot.child("satoshi").getValue(String.class);
myBal.setText("satoshi: "+amount);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
下面是我的数据库结构...
提前致谢!
最佳答案
问题是你实际上并没有到达“satoshi”节点。
“claim”节点上的 ValueEventListener
返回代表“claim”节点的 DataSnapshot
。 “claim”节点上没有“satoshi”子节点,唯一的子节点是“-Kbvm.....”。
您需要已经拥有“-Kbvm.....” key 并使用它来正确遵循“satoshi”的路径,或者在“claim”节点上使用 ChildEventListener 来获取“的子节点”声明”而不是“声明”本身。
关于java - Firebase 返回 null 而不是数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41992101/