2017-05-27 17 views
0

Firebaseデータベースの子にすべてのintのSUMを取得しようとしています。Firebaseデータベースの子エントリのSUMを取得する方法

私のデータベースは、私がここでは異なるフラグメントでのTextViewに

をポイントし、ショーのSUMを取得したい

beans-card 
    - users 
     - (UID from Firebase Auth) 
      - Receipt 
        - keyID 
         - amount: 11 
         - points: 22 
        - keyID 
         - amount: 11 
         - points: 22 

のように設定されているが、私のレシートクラスは

public class Receipt { 

    public int amount; 
    public int points; 

    public Receipt(){} 

    public Receipt(int amount, int points) { 
     this.amount = amount; 
     this.points = points; 
    } 

    public int getAmount(){ 
     return amount; 
    } 

    public void setAmount(int amount){ 
     this.amount = amount; 
    } 

    public int getPoints(){ 
     return points; 
    } 

    public void setPoints(int points){ 
     this.points = points; 
    } 

} 

とここにあります私のデータベースにデータを入力する方法です。

Receipt receipt = new Receipt(second, second*2); 

mDatabase.child("users").child(mUserId) 
.child("Receipt").push().setValue(receipt); 
+0

あなたは 'List 'をどうやって取得しますか?その情報によって、あなたはそこの半分にいます –

答えて

2
DatabaseReference db_receipt =FirebaseDatabase.getInstance().getReference().child("users").child(uid).child("Receipt") 
long sum = 0; 
db_receipt.addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      for (DataSnapshot ds:dataSnapshot.getChildren() 
        ) { 
         sum = sum + points; 
         } 

       } 
      } 


     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
関連する問題