Android_传感器综述

Android Sensor 系统涉及了Android 的各个层次。Android 系统支持多种传感器,有的传感器已经在Android 的框架中使用,大多数传感器由应用程序来使用。

传感器

JAVA 中的名称

本地接口名称

数值

加速度

TYPE_ACCELEROMETER

SENSOR_TYPE_ACCELEROMETER

1

磁力域

TYPE_MAGNETIC_FIELD

SENSOR_TYPE_MAGNETIC_FIELD

2

方向

TYPE_ORIENTATION

SENSOR_TYPE_ORIENTATION

3

陀螺

TYPE_GYROSCOPE

SENSOR_TYPE_GYROSCOPE

4

光线(亮度)

TYPE_LIGHT

SENSOR_TYPE_LIGHT

5

压力

TYPE_PRESSURE

SENSOR_TYPE_PRESSURE

6

温度

TYPE_TEMPERATURE

SENSOR_TYPE_TEMPERATURE

7

距离

TYPE_PROXIMITY

SENSOR_TYPE_PROXIMITY

8


传感器系统的JAVA 部分包含了以下几个文件:

SensorManager.java

实现传感器系统核心的管理类SensorManager

Sensor.java

单一传感器的描述性文件Sensor

SensorEvent.java

表示传感器系统的事件类SensorEvent

SensorEventListener.java

传感器事件的监听者SensorEventListener 接口

SensorListener.java

传感器的监听者SensorListener 接口(不推荐使用)

SensorManager 的主要的接口如下所示 :

public class SensorManager extends IRotationWatcher.Stub

{

public Sensor getDefaultSensor (int type) {// 获得默认的传感器 }

public List<Sensor> getSensorList (int type) { // 获得传感器列表 }

public boolean registerListener (SensorEventListener listener,

Sensor sensor, int rate, Handler handler) { // 注册传感器的监听者 }

void unregisterListener(SensorEventListener listener, Sensor sensor)

{ // 注销传感器的监听者}

}

Sensor 的主要的接口如下所示 :

public class Sensor {

float getMaximumRange() { // 获得传感器最大的范围 }

String getName() { // 获得传感器的名称 }

float getPower() {/ / 获得传感器的耗能 }

float getResolution() { // 获得传感器的解析度 }

int getType() { // 获得传感器的类型 }

String getVendor() { // 获得传感器的Vendor }

int getVersion() { // 获得传感器的版本 }

}

Sensor 类的初始化在SensorManager JNI 代码中实现,在SensorManager.java 维护了一个Sensor 的列表。

SensorEvent 类比较简单,实际上是Sensor 类加上

了数值(values ),精度(accuracy ),时间戳timestamp )等内容。

SensorEventListener 接口描述了SensorEvent 的监听者内容如下所示:

public interface SensorEventListener {

public void onSensorChanged(SensorEvent event);

public void onAccuracyChanged(Sensor sensor, int accuracy);

}

同时在eoe上看到一篇不错的文章:

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=181058

一个简单的Demo下载,无需积分

http://download.youkuaiyun.com/detail/zqiang_55/4699641

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值