传感器概述

传感器是第二代智能手机的重要标志之一。现在许多的手机和平板都内置了传感器(tv除外)。android的SDK支持许多的传感器有十几种,但是手机只是支持一部分。例如方向传感器(电子罗盘)和重力传感器(屏幕翻转)。

大概分为三类

  • 动作传感器
  • 环境传感器‘
  • 位置传感器

动作传感器

这类传感器在三个轴(x,y,z)上测量加速度和旋转角度。包括如下几个传感器。

- 加速传感器

- 重力传感器

- 陀螺仪传感器

- 旋转向量传感器

环境传感器

  • 湿度传感器’
  • 光线传感器
  • 温度传感器

位置传感器

  • 方向传感器
  • 磁力传感器

android sensor Framework

android SDK内置了android sensor Framework ,可以访问android设备内置的传感器,ASF提供了许多类和接口,可以帮助我们完后才那个许多工作。

- 确定android设备内置二等传感器

- 确定一个传感器的技术指标,例如测量范围,精度,制造商和精度

- 获取传感器传回来的数据

- 注册和注传感器监听事件,用于监听传感器的变化,通常回传的数据要通过这些监听器完成。

硬件传感器和软件传感器

ASF允许我们访问许多的传感器类型,有基于硬件的也有给予偶软件的,

硬件传感器是基于硬件的传感器,直接以芯片的形式嵌入到Android设备中,这些传感器从外部获取数据,例如加速传感器和磁场传感器。

软件传感器不是基于硬件的,传回的数据本质上基于对基于硬件传感器的二次加工,可能来源于一个或多个硬件传感器,也有可能使用了特定的算法处理了这些数据。

ASF支持的传感器



ASF中的主要类和接口

  • Sensor Manager :用于创建Sonsor Service的实例。该类提供了很多用于访问和枚举传感器,注册和注销传感器饿方法。而且还提供了与传感器精度,扫描频率,校正有关的量。
  • Sensor类:提供了一些用于获取传感器技术参数的方法。如版本和类型,生产商。
  • SensorEvent类:创建传感器时间对象,时间可以传递与传感器有关的数据,类型,精度以及触发时间等。
  • SensorEventListene接口:当出传感器的回传值或者精度变化时,系统会调用。

获取android设备支持的传感器实例

代码如下;

public class MainActivity extends Activity {
    private TextView tvSensor;
    private SensorManager sensorManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tvSensor = (TextView) findViewById(R.id.tvSensor);
        sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        List<Sensor> list = sensorManager.getSensorList(Sensor.TYPE_ALL);
        for (Sensor sensor : list) {
            tvSensor.append(sensor.getName()+"\n");
        }
    }
}

效果图:

Android传感器概述-android学习之旅(七)的更多相关文章

  1. Android自制浏览器WebView-android学习之旅(64)

    简单讲解如何使用WebView加载百度的网页 acticity代码 public class MainActivity extends Activity { private WebView webVi ...

  2. Android万能适配器Adapter-android学习之旅(74)

    万能适配器的代码的github地址是https://github.com/fengsehng/CommonAdapter 万能适配器的代码的github地址是https://github.com/fe ...

  3. Android传感器概述(六)

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

  4. Android studio使用git-android学习之旅(79)

    首先我参考了hello_my_show和梦痕_sky的博客,表示感谢 android studio对于git的支持是很好的,这节课我们拉讲解怎么使用git可视化工具来clone project和提交修 ...

  5. Android为什么使用Binder-android学习之旅(101)

    基础知识 Android进程和linux进程一样,他们只运行在进程固有的虚拟空间中.一个4GB的虚拟地址空间,其中3GB是用户空间,1GB是内核空间 ,用户空间是非共享的,内核空间是共享的,如下图: ...

  6. Android首选项SharedPreference-android学习之旅(六)

    SharedPrefenence采用的键值对的方式来进行存储,采用内部存储的方式. 实例 public class MainActivity extends Activity { private Sh ...

  7. Servlet概述-servlet学习之旅(一)

    Servlet概述 servlet是server+applet的缩写.applet是运行于客户端浏览器的java小程序,java诞生的时候,因为applet而闻名于世,但是现在已经没有多少热使用了,而 ...

  8. 我的Go语言学习之旅七:创建一个GUI窗口

    在上次中,刚刚学过了  弹窗效果.这里再接着学习一下怎样创建一个窗口. 还是老路子,先上代码: package main import ( "github.com/lxn/go-winapi ...

  9. [原创] zabbix学习之旅七:如何远程操作被监控机器

    虽然我们已经创建了一个报警系统,但在实际场景中,运维人员从得到报警到实际解决问题有一定的时差,若业务系统没有做高可用,那业务不得不中断,对于某些要求严格的企业级环境,这是不可容忍的,那有没有方法能让z ...

随机推荐

  1. ●BZOJ 1096 [ZJOI2007]仓库建设

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1096 题解: 斜率优化DP $(d_i:i 位置到1位置的距离,p_i:i位置的成品数量,c ...

  2. Ubuntu下的第一个博客

    (Blogilo还是可以的,只是不能加代码,不能选随笔分类,用不起摘要,字号的选择诡异...)

  3. MySql 时间操作实例

    SELECT NOW(6) AS '当前时间精确到微秒'; SELECT UNIX_TIMESTAMP() AS '当前时间戳',UNIX_TIMESTAMP('2018-1-1') AS '转换成时 ...

  4. mysql免安装版下载及配置教程

    第一步:下载 下载地址:http://dev.mysql.com/downloads/mysql/ 滚动到下方就能看到了,根据自己的需求下载: 我的电脑为64为的所以下载的为 Windows (x86 ...

  5. Linux学习之CentOS(十五)----磁盘管理之 启动挂载(转)

    启动挂载 /etc/fstab 及 /etc/mtab 刚刚上面说了许多,那么可不可以在启动的时候就将我要的文件系统都挂好呢?这样我就不需要每次进入 Linux 系统都还要在挂载一次呀!当然可以啰!那 ...

  6. spring AOP的两种配置方式

    连接点(JoinPoint) ,就是spring允许你是通知(Advice)的地方,那可就真多了,基本每个方法的前.后(两者都有也行),或抛出异常是时都可以是连接点,spring只支持方法连接点.其他 ...

  7. 用IO创建并格式化分区

    转载:http://raylinn.iteye.com/blog/570274 BOOL Result; // used to read bad DeviceIoControl calls DWORD ...

  8. $.messager.confirm 用法

    <script type="text/javascript">     $(function () {         $.messager.defaults = { ...

  9. 55. Jump Game(中等)

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  10. 读书学习-Python--描述符(python3)

    转自我的知乎文章(https://zhuanlan.zhihu.com/p/32487852) 何为描述符?描述符就是实现了__get__.__set__和__delete__三者中任意一个的类.是用 ...