android传感器的坐标系统和其2D设计并不相同,坐标系如下图:

使用SensorManager对象注册传感器监听器后,在onSensorChanged方法内可以得到SensorEvent的一个对象。

而SensorEvent对象有一个重要的成员变量public final float[] values,其定义如下:

public final float[] values

The length and contents of the values array depends on which sensor type is being monitored

假若注册监听器是加速度传感器的话,其values中内容为

Sensor.TYPE_ACCELEROMETER:

  All values are in SI units (m/s^2)         // si是国际单位的意思,就是和高中学加速度一样的单位

  values[0]: Acceleration minus Gx on the x-axis  

  values[1]: Acceleration minus Gy on the y-axis

  values[2]: Acceleration minus Gz on the z-axis

可以看出values[0~2]的值是某方向加速度(Acceleration)减去该方向的重力值(Gx、Gy、Gz),所以手机静止时其范围是[-10,10]

举例说明,手机屏幕朝上平放,则 values[0]=0,values[1]=0,values[2]=10

由于手机静止不动所有方向都没有加速度,手机平放产生了向下的重力加速度,即Gz=-10(因为重力方向与z轴正向相反),所以相减后得10

更多相关文章

  1. Android中两种设置全屏的方法 && Android横竖屏切换
  2. Android(安卓)之 ScrollView(垂直滑动)组件
  3. android横竖屏切换
  4. (转)ANDROID强制锁定竖屏_APP固定设置竖屏或横屏
  5. 通過XML設置屏幕方向(android:screenOrientation)详解
  6. 基于Android的传感器和语音识别的设计与实现
  7. Android(安卓)禁止屏幕旋转 screenorientation
  8. 一些关于 Activity 的技巧
  9. Android横竖屏常问题

随机推荐

  1. Android(安卓)CTS包下载地址
  2. Android——工具对话框
  3. Android计算文件夹大小、文件大小单位转
  4. Android中使用SQLiteDatabase对数据库进
  5. android 播放器开发
  6. android adapter的性能小结
  7. 首批Android(安卓)Q版本真机上线,Testin云
  8. 2011-03-29 15:30 android用于打开各种文
  9. 使用Animation轮播图片
  10. Android应用程序组件Content Provider的