Android Sensor 理解及架构

本文详细介绍了Android系统的Sensor架构,包括加速度传感器、磁力传感器、方向传感器、陀螺仪、重力传感器和线性加速度传感器的原理与使用方法。通过对SensorManager、SensorEvent和SensorEventListener接口的讲解,阐述了常规的Sensor使用流程,并讨论了手机坐标的自然坐标系、屏幕旋转和世界坐标系的概念。
摘要由CSDN通过智能技术生成

Android 6.0 系统支持的传感器多达26种:加速度传感器 (accelerometer)、磁力传感器(magnetic field)、方向传感器(orientation)、陀螺仪(gyroscope)、环境光照传感器(light)、压力传感器(pressure)、温度传感器(temperature)和距离传感器(proximity)等等, Sensor.java 中有相关定义 源码

Sensor 架构图
在这里插入图片描述
主要包括2个进程,服务端和客户端。 Sensor的整体逻辑非常清晰,一个控制流,一个数据流。

1.常规使用流程ref

1.1 常用API

SensorManager:可以通过这个类去创建一个传感器服务的实例,这个类提供的各种方法可以访问传感器列表、注册或解除注册传感器事件监听、获取方位信息等。
Sensor:用于创建一个特定的传感器实例,这个类提供的方法可以让你决定一个传感器的功能。
SensorEvent:系统会通过这个类创建一个传感器事件对象,提供了一个传感器的事件信息,包含一下内容,原生的传感器数据、触发传感器的事件类型、精确的数据以及事件发生的时间。
SensorEventListener:可以通过这个接口创建两个回调用法来接收传感器的事件通知,比如当传感器的值发生变化时。

1.2 使用方式

第一步:获取SensorManager对象
第二步:获取Sensor对象
第三步:注册Sensor对象
第四步:重写onAccuracyChanged,onSensorChanged这两个方法
第五步:注销Sensor对象

public class SensorActivity extends Activity implements SensorEventListener {
  private SensorManager mSensorManager;
  private Sensor mSensor;
  @Override
  public final void onCreate(Bundle savedIns
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值