Android传感器

开发传感器应用

1. 获取传感器管理者对象

// 获取传感器管理者对象
SensorManager mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

2. 获取指定的传感器对象

// 获取指定的传感器 加速度传感器
Sensor sensor = mSensorManager.getDefaultSensor(int type);

这个type就是传感器的类型

  • 加速度传感器
Sensor.TYPE_ACCELEROMETER   
  • 方向传感器
Sensor.TYPE_ORIENTATION
  • 磁场传感器
Sensor.TYPE_MAGNETIC_FIELD
  • 温度传感器
Sensor.TYPE_AMBIENT_TEMPERATURE
  • 光传感器
Sensor.TYPE_LIGHT
  • 压力传感器
Sensor.TYPE_PRESSURE

3. 给传感器添加监听

public boolean registerListener(SensorEventListener listener, Sensor sensor, int samplingPeriodUs);
  • 第一个参数是传感器监听器
  • 第二个参数是上面获取到的传感器对象
  • 第三个参数是指定获取传感器数据的频率

samplingPeriodUs 采样频率支持以下几个频率值

SensorManager.SENSOR_DELAY_FASTEST

最快,延迟最小,比较消耗电量,由于传递的为原始数据,如果算法处理不好将会影响应用的性能

SensorManager.SENSOR_DELAY_GAME

适合游戏的频率,在一般实时性要求的应用上适合使用这种频率。

SensorManager.SENSOR_DELAY_NORMAL

正常的频率,实时性要求不是很高的时候适合这种频率。

SensorManager.SENSOR_DELAY_UI

适合普通用户界面的频率,这种模式比较省电,而且系统开销也很小,但是延迟较大,适合在普通的小程序中使用

说明

通过以上简单的三个步骤,就可以利用手机自带的传感器获取到相应的传感器数据,进行开发了(硬件必须支持),后续我会针对各个传感器单独写Demo,感兴趣的话可以关注一下。

Android传感器的更多相关文章

  1. android 传感器应用

    本章讲述Android开发中,传感器应用相关的知识点. 1.功能需求 做一个基于传感器的水平尺应用. 2.软件实现

  2. Android 传感器

    今天介绍一下Android的传感器,开发Android传感器的步骤: 1.调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorMan ...

  3. 《IT蓝豹》吹雪花demo,学习android传感器

    吹雪花demo,学习android传感器 吹雪花demo,学习android传感器,嘴巴对着手机底部吹一下就会出现飘着雪花效果. 算是学习android传感器效果.本例子主要是通过android.me ...

  4. 《android传感器高级编程》译者序

    翻看手机中的应用,就能发现大多数应用都已经使用了传感器.让微信彻底火起来的“附近的人”和“摇一摇”.碰一碰交换信息的Bump.各种运动记录app.神奇的“磁力探测仪”.火爆的游戏Temple Run… ...

  5. 《Android传感器高级编程》

    <Android传感器高级编程> 基本信息 原书名:Professional Android Sensor Programming 原出版社: Wrox 作者: (美)米内特(Greg M ...

  6. android传感器使用

    android传感器的使用以加速度传感器.方向传感器.磁场.压力.温度.光感.特别的距离传感器为例介绍. 首先所在的类需要implement SensorEventListener.使用传感器分为以下 ...

  7. Android传感器编程带实例

    看了程序人生 网站的 编程高手的编程感悟 深有感触,好像也是一个android 程序员写的,推荐大家也看看.话不多说,还是言归正传吧. 一.前言 我很喜欢电脑,可是笔记本还是太大,笔记本电脑再小还是要 ...

  8. Android传感器概述(六)

    监视传感器事件 要监视原始的传感器数据,你须要实现两个通过SensorEventListener接口暴露的回调方法:onAccuracyChanged()和onSensorChanged().Andr ...

  9. Android传感器的使用(GravieySensor)

    这里以重力传感器为例说明 第一步:创建一个SensorManager对象,用来管理或者获取传感器 SensorManager sm = (SensorManager) this.getSystemSe ...

随机推荐

  1. [HNOI 2004]敲砖块

    Description 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 3 ...

  2. [WC2006]水管局长数据加强版

    Description SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一 ...

  3. poj3728 商务旅行

    [Description]小 T 要经常进行商务旅行,他所在的国家有 N 个城镇,标号为 1,2,3,...,N,这 N 个城镇构成一棵树.每个城镇可以买入和卖出货物,同一城镇买入和卖出的价格一样,小 ...

  4. ●Joyoi Easy

    题链: http://www.joyoi.cn/problem/tyvj-1952题解: 概率dp (先做的BZOJ 4318: OSU![本人题解],然后就感觉这个题很简单了) 令p[i]表示第i个 ...

  5. UVALive4727:jump

    约瑟夫环变式 设f[i][j]表示处理i个人,按照处理顺序,倒数第j个人是谁 则有f[i][j]=(f[i-1][j]+k)%i #include<cstdio> #include< ...

  6. ●BZOJ 4289 PA2012 Tax

    ●赘述题目 算了,题目没有重复的必要. 注意理解:对答案造成贡献的是每个点,就是了. 举个栗子: 对于如下数据: 2 1 1 2 1 答案是 2: ●题解 方法:建图(难点)+最短路. 先来几个链接: ...

  7. 2014-10-30NOIP复习题1

    Problem 1 Graph (graph.cpp/c/pas) [题目描述] 给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点. [输入格式 ...

  8. ●BZOJ 2560 串珠子

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2560 题解: 容斥,状压计数dp 首先求出一个数组 g[s] 表示集合内的点的连边方案数(两 ...

  9. 习题10-1 UVA 11040(无聊水一水)

    题意: 给你一个残缺的塔,每个数字由他下面左右两个数相加得.给你其中一部分,要求输出全部的数字. #include <iostream> #include <cstdio> # ...

  10. 什么是spool系统,什么是预输入,什么是缓输出?

    操作系统提供外部设备联机同时操作的功能设备spool系统,又称为假脱机系统. spool系统在应用程序执行前将应用程序的信息通过独占设备预先输入到辅存上的一个特定的存储区域存放好.称为预输入. 在应用 ...