objectbox / objectbox/objectbox-java
Request : LiveData observing Query.count instead of Query.find
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 4.6k
- Fork
- 311
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi,
I'd like to use LiveData to observe the number of items resulting of a given query (the equivalent of Query.count() or Query.findLazy().size()).
As of v2.4.0, LiveData only calls Query.find, so the only implementation I came up with is not optimal at all
// Get all results as objects
// NB : db.queryContentSearch is a Query<Content>
ObjectBoxLiveData<Content> livedata = new ObjectBoxLiveData<>(db.queryContentSearch(query, metadata, favouritesOnly));
// Instanciated objects are useless because we just actually count them !
MediatorLiveData<Integer> result = new MediatorLiveData<>();
result.addSource(livedata, v -> result.setValue(v.size()));
return result;
=> Would it be possible in future versions to build LiveData's that observe Query.count ?
Or have I overlooked a feature that already exists ?
Thanks a lot for your help,
-Robb
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando il comportamento attuale di LiveData che chiama Query.find, quindi confronta le API Query.count e Query.findLazy descritte nell’issue. Il lavoro è completato quando un’opzione di LiveData può osservare il conteggio di una query senza materializzare tutti gli oggetti risultato e si aggiorna quando cambiano i risultati della query.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, java
- Ambito
- database, mobile
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100