objectbox / objectbox/objectbox-java
Request : LiveData observing Query.count instead of Query.find
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 4.6k
- Forks
- 311
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza revisando el comportamiento actual de LiveData que llama a Query.find y, después, compara las APIs Query.count y Query.findLazy descritas en el issue. Se considera terminado cuando una opción de LiveData puede observar el recuento de una query sin materializar todos los objetos de resultado y se actualiza cuando cambian los resultados de la query.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, java
- Área
- database, mobile
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100