Je développe une application qui nécessite l'accès aux «5 dernières secondes de données» pour un capteur donné. Mon plan est de stocker ces données en quelque sorte, puis quand je demande les données, il retournera toutes les données obtenues dans les 5 dernières secondes. Je ne sais pas comment le faire efficacement, étant donné que:Collecte, stockage et récupération de données de capteur
Dalvik n'aime pas avoir beaucoup d'objets en cours de création, donc je ne peux pas faire un objet pour chaque lecture du capteur qui contient la valeur + horodatage
Je dois constamment stocker de nouvelles données dans une sorte de structure, tout en en récupérant une partie spécifique.
Ma seule autre exigence est que les données de plus de 5 secondes doivent être éliminées. Ce n'est pas vraiment critique, mais j'imagine que conserver les données mange à la mémoire.
J'ai actuellement un écouteur onSensorChanged
mis en place, donc je n'ai pas besoin d'aide pour ça.
Des idées?
Je suppose que vous travaillez avec [SensorManager] (http://developer.android.com/reference/android/hardware/SensorManager.html), pourquoi ne pas interroger avec un [Timer] (http://developer.android.com/reference/java/util/Timer.html) chaque seconde, en stockant ces valeurs où bon vous semble, puis en interrogeant simplement ce référentiel en cas de besoin? –
jetez un oeil à SensorEventListener (http://developer.android.com/reference/android/hardware/SensorEventListener.html) donc quand vous obtenez de nouvelles données jusqu'à ce qu'elles changent. Je conseillerais d'enregistrer cette information localement sur un db et un accès via Cursor en utilisant LoaderManager – Necronet
@NanoTaboada Voilà le problème, quel référentiel utiliser, et comment l'interroger? – Glitch