您的位置:首页 > 移动开发 > Android开发

Android开发传感器应用---获取加速度

2013-07-15 22:51 260 查看
由于Android系统为传感器支持强大的管理服务,所以开发传感器应用的大体步骤有一下几步:

(1):调用Context的getSystemService(Context.SENSOR_SERVICE)的方法获取SensorManager对象,SensorManager对象代表系统的传感器管理服务。

(2):调用SensorManager对象的getDefaultSensor(int type)方法来获取指定类型的传感器。

(3):通常我们在Activity的onResume()方法调用SensorManager的registerListener(listener, sensor, rate)为指定的传感器注册监听器。

registerListener(listener, sensor, rate)的三个参数说明:

第一个参数:监听传感器事件的监听器。该监听器需要实现SensorEventListener接口,实现该接口需要重写onSensorChanged和onAccuracyChanged两个方法。

第二个参数:传感器对象。通过getDefaultSensor(int type)方法得到。

第三个参数:指定获取传感器的数据频率。

rate支持以下几个频率值:

SensorManager.SENSOR_DELAY_FASTEST:最快。延迟小,只有特别依赖于传感器的应用才推荐使用,因为会造成手机耗电量增大。

SensorManager.SENSOR_DELAY_NORMAL:适合游戏的频率。

SensorManager.SENSOR_DELAY_GAME:正常频率。

SensorManager.SENSOR_DELAY_UI:适合普通用户界面的频率。

获取系统加速度传感器的例子:





这里需要注意X,Y,Z三个方向:

x 方向就是手机的水平方向,右为正

y 方向就是手机的水平垂直方向,前为正

y 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负
如下图:



注:

地球固有的重力加速度g (值为9.8 m/s^2),单位m/s^2(米每二次方秒)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐