Акселерометр показывает три направления (x, y, z).Это измерения ускорения, которые сложнее понять, каково положение устройства.Но помните, что ускорение связано с позицией через интеграцию:
a(t) = a[x]
v(t) = a[x]t + c
x(t) = a[x]t ^ 2 + ct + d
Проблема в том, что вы не можете знать c или d, потому что при получении производной константы выпадают.Таким образом, есть некоторая сумма, которую вы не можете понять, если c и d отсутствуют.Вы можете попытаться компенсировать это, вспомнив значения, которые вы использовали последними для них.Таким образом, после получения 3 выборок вы можете начать рассчитывать положение на основе этого.
Существует значительный объем информации о том, как интерпретировать данные с датчиков.Например, выяснить, где гравитация для ориентации, и вычесть гравитацию, чтобы получить линейное ускорение.
http://developer.android.com/reference/android/hardware/SensorEvent.html
Вот способ определить положение с помощью акселерометра вместе с алгоритмом дляподробное нахождение позиции:
http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf