Soma dados do firebase com eficiência
Eu tenho um aplicativo no qual tenho até alguns milhares de entradas em uma tabela do firebase. Agora, alguém está se conectando a esta tabela e preciso contar e resumir esses itens.
-itemlist
|
--1
|-x:2
--2
|-x:4
e assim por diante. Um usuário pode se conectar a qualquer momento (o que significa que ele nunca viu essa tabela antes) e outro usuário pode alterar algum valor a qualquer momento ou adicionar valores.
Agora, se eu tentar adicionar umValueEventListener
para "itemlist", funciona se não houver novos dados, mas assim que eu me conectar a um novo banco de dados com 1000 entradas, o ouvinte chamará cada uma dessas 1000 entradas.
Eu tentei com onChildlistener, mas isso chama o ChildItem adicionado para cada item extra na primeira vez. Às vezes, isso leva mais de 2 minutos.
Existe uma maneira de obter o banco de dados inteiro uma vez, calculá-lo e depois ouvir apenas as alterações?