Android sensor 实用篇
来源:互联网 发布:pdf打开软件手机软件 编辑:程序博客网 时间:2024/05/17 06:53
原文地址:http://blog.csdn.net/yiyaaixuexi/article/details/6321894
1.Sensor Type
重力感应/加速度传感器 (G-Sensor)
光感应 (Light-Sensor)
温度感应
方向感应
磁场、
临近性
2.如何实现Sensor编程
a.获取系统服务(SENSOR_SERVICE)返回一个SensorManager 对象
sensormanager = (SensorManager)getSystemSeriver(SENSOR_SERVICE);
b.通过SensorManager对象获取相应的Sensor类型的对象
sensorObject = sensormanager.getDefaultSensor(sensor Type);
c.声明一个SensorEventListener 对象用于侦听Sensor 事件,并重载onSensorChanged方法
SensorEventListener sensorListener = new SensorEventListener(){
};
d.注册相应的SensorService
sensormanager.registerListener(sensorListener, sensorObject, Sensor TYPE);
e.销毁相应的SensorService
sensormanager.unregisterListener(sensorListener, sensorObject);
f: SensorListener 接口是传感器应用程序的中心。它包括两个必需方法:
onSensorChanged(int sensor,float values[]) 方法在传感器值更改时调用。
该方法只对受此应用程序监视的传感器调用(更多内容见下文)。该方法的参数包括:一个整数,指示更改的传感器;一个浮点值数组,表示传感器数据本身。有些传感器只提供一个数据值,另一些则提供三个浮点值。方向和加速表传感器都提供三个数据值。
当传感器的准确性更改时,将调用 onAccuracyChanged(int sensor,int accuracy) 方法。参数包括两个整数:一个表示传感器,另一个表示该传感器新的准确值。
3.关于G-Sensor
Android 加速度传感器的类型是 Sensor.TYPE_ACCELEROMETER
通过 android.hardware.SensorEvent 返回加速度传感器值。
加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是
values[0]: x-axis 方向加速度
values[1]: y-axis 方向加速度
values[2]: z-axis 方向加速度
其中x,y,z方向的定义是以水平放置在的手机的右下脚为参照系坐标原点
x 方向就是手机的水平方向,右为正
y 方向就是手机的水平垂直方向,前为正
y 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负
需要注意的是,由于地球固有的重力加速度g (值为9.8 m/s^2),
因此现实中实际加速度值应该是 z方向返回值 - 9.8 m/s^2.
比如你以 2 m/s^2 的加速度将手机抛起,这时z方向的返回值应该是 11.8 m/s^2.
反之若以手机以2 m/s^2 的加速度坠落,则z方向的返回值应该是 7.8 m/s^2.
x,y方向则没有上述限制。
- Android sensor 实用篇
- Android sensor 实用篇
- Android Sensor 实用篇
- Android Sensor
- android sensor
- android sensor
- android sensor
- Android Sensor
- Android sensor
- android sensor
- [sensor] android的sensor架构
- Android Sensor详解(7)sensor framework层详解第二篇
- Android Sensor详解(7)sensor framework层详解第二篇
- Android Light Sensor与Temperature Sensor开发
- android sensor 框架分析---sensor数据流分析
- android sensor 框架分析---sensor native分析
- android sensor 框架分析---sensor 总结
- Android Proximity Sensor近距离传感器P-Sensor
- 百度地图api两地距离
- hibernate下两个相连大写字符导致Could not find a getter for问题
- 简单说说Android G-sensor 的优化
- [转] 工程师在创业团队的技术挑战
- System.getProperty()
- Android sensor 实用篇
- 线性元件与非线性元件
- 两个变量交换值,不申明第三个变量 (异或操作)
- 编写反转字符串的程序,要求优化速度、优化空间
- 使用repo和git下载android源码 和 相关解释
- Sybase时间日期函数
- [转载] 自己架设和QQ一样的聊天软件-期翼嘻嘻
- 第七周任务三:类模板
- 第七周实验报告(任务1)