2017-02-01 20 views
0

私はGoogle Firebaseで作業していますが、保存したデータを取得したいが結果はnullです。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) { 

      } 
     }); 

は以下

enter image description here

答えて

2

問題は、あなたが実際に "サトシ" ノードに到達していないです...私のデータベース構造です。

「claim」ノードのValueEventListenerは、「claim」ノードを表すDataSnapshotを返します。 「主張」ノードには「satoshi」という子はなく、唯一の子は「-Kbvm .....」です。

"-Kbvm ....."キーをすでに持っていて、それを使って "satoshi"へのパスを正しく使うか、または "claim"ノードでChildEventListenerを使用して子を取得する必要があります「主張する」よりもむしろ「主張する」。

+1

ありがとうございます!それはとてもうまくいった。 –

関連する問題