L'accelerometro fornisce tre direzioni (x, y, z). Sono misure di accelerazione che è più difficile sapere quale sia la posizione del dispositivo. Ma, ricorda l'accelerazione è legato alla posizione attraverso l'integrazione:
a(t) = a[x]
v(t) = a[x]t + c
x(t) = a[x]t^2 + ct + d
Il problema è che non si può sapere C o D, perché come si prende la derivata le costanti di drop out. Quindi c'è una somma che non si può risolvere con c e d mancanti. Puoi tentare di compensare ricordando i valori usati per ultimi. Quindi, dopo aver preso 3 campioni, puoi iniziare a calcolare la posizione da questo.
C'è una quantità significativa di informazioni su come interpretare i dati dai sensori. Come capire dove si trova la gravità per l'orientamento e sottrarre la gravità per ottenere l'accelerazione lineare.
http://developer.android.com/reference/android/hardware/SensorEvent.html
Ecco un modo per venire con posizione utilizzando un accelerometro insieme ad un algoritmo per trovare la posizione in dettaglio:
http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf
È necessario eseguire il polling del valore di 'a' e calcolare l'accelerazione media e applicare tale media nel periodo di tempo tra i sondaggi. – Bringer128
Molto curioso di come sei riuscito a risolvere questo problema, e se lo hai ottenuto in modo che sia preciso per consentire una navigazione di precisione. – ina