[<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS80RXlvRS5wbmcifQ==” alt =“单击此处查看我的Firebase数据库”>“
我想总结我的totalprice
,但我想总结一下特定的日期,例如28/11/2019至30/11/2019。
我将如何构建?
我的预期输出是日期在28/11/2019和30/11/2019之间的总价的总和。
我已经做过,但是可以用。
mDatabase = FirebaseDatabase.getInstance().getReference().child("TRANSACTIONS");
mDatabase.addValueEventListener(new ValueEventListener() {
String date;
int count;
String incomestr;
long incomeresult;
long income;
String date1;
long date2;
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
date = ds.child("date").getValue(String.class);
date1 = date.replace("/","");
date2 = Long.parseLong(date1);
if(date2 < enddatelong && date2 > startdatelong) {
incomestr = ds.child("totalprice").getValue(String.class);
income = Long.parseLong(incomestr);
incomeresult = income + incomeresult;
System.out.println("THIS IS INCOME RESULT " + incomeresult);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
}
});
该代码是错误的,因为无法在其中使用if条件。
解决我问题的任何想法?
谢谢!
您可以使用查询来获取这些日期之间的所有价格,然后添加它们:
mDatabase.orderByChild("date").startAt("28/11/2019").endAt("30/11/2019").addValueEventListener(new ValueEventListener() {