# Sensordaten speichern



## guguli (4. Nov 2014)

Hallo zusammen,

ich entwickle eine App, die mit Accelerometer arbeitet. Ich möchte diese Daten in einem Array speichern. damit ich sie später benutzen kann. Des Weiteren möchte ich alle 10 Sekunden, die empfangene Daten Speichern und dann diese Benutzen, dann löschen.
Also mine Idee ist:
1) Start Button, womit ich den Accelerometer starte
2)  drei Arrays anlegen und für jede Raumrichtugn X,Y,Z die daten in dem Array speichern.
3) Wenn 10 sekunden um sind dann die Daten benutzen und array leeren.


Oder meint ihr es gibt eine Bessere Lösung dafür????


THX


----------



## dzim (5. Nov 2014)

Da du nicht weisst, wie viele Daten in den 10s ankommen (das ist doch auch der Aufnahmezeitraum, oder?), würde ich kein Array (das du statisch initialisieren *musst*) verwenden, sondern eine Liste. Idealerweise würde ich eine einfache Modellklasse mit den drei Werten anlegen, und die in die Liste werfen. Und wenn du schon dabei bist, würde ich noch einen Zeitstempel (Long-Wert) einfügen. Da du mit den Gründen etwas geizig bist, kann ich sonst dazu nicht mehr sagen, als das bereits gesagte.


----------



## guguli (5. Nov 2014)

Hallo dizm,

ich hab mich bisschen schlau gelesen: wie wär es mit multithreading. in einem Speichere ich die Daten und in einem werde ich die daten bearbeiten.
Also schrittweise würde ich dann somachen:
1)start Button betätigen
2)Timer läuft, dann der Accelerometer
3) im Thread 1 werden die daten vom Accelerometer (X,Y,Z) zum zeitpunkt t gespeichert. soll heißen, jede millisec speichere ich die werte von X,Y,Z.  
4) alle 10 Sek nehme ich diese werte und verwende die um eine rechnung auszuführen.(Diese Rechnung ist ein Integral die vom Zeit abhängt, daher die 10 sek.

Ist sowas auf android Möglich????

THX


----------



## dzim (6. Nov 2014)

Kurz: Ja.

Threads, AsyncTask, IntentService, ... (und für die Kommunikation über Thread-Grenzen: Messenger oder Broadcast) Alles brauchbare Methoden multi-threaded zu arbeiten.


----------

