我想在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”节点。
“声明”节点上的ValueEventListener
返回表示“声明”节点的DataSnapshot
。 “ claim”节点上没有“ satoshi”子代,唯一的子代是“ -Kbvm .....”。
您可能需要已经拥有“ -Kbvm .....”键,并使用该键正确地遵循“ satoshi”的路径,否则就需要在“ claim”节点上使用ChildEventListener来获得“ claim”的子代。而不是“要求”本身。
关于java - Firebase返回null而不是数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41992101/