如何汇总特定日期的Firebase数据

问题描述 投票:0回答:1

[<< 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条件。

解决我问题的任何想法?

谢谢!

java android firebase firebase-realtime-database
1个回答
0
投票

您可以使用查询来获取这些日期之间的所有价格,然后添加它们:

mDatabase.orderByChild("date").startAt("28/11/2019").endAt("30/11/2019").addValueEventListener(new ValueEventListener() {
© www.soinside.com 2019 - 2024. All rights reserved.