Android 传感器

本文介绍了Android手机中常见的传感器,如光照、加速度、方向、地磁、温度和压力传感器,详细阐述了它们的工作原理和应用场景。并提供了一个指南针应用实例,展示了如何使用传感器数据来实现这一功能。
摘要由CSDN通过智能技术生成

  传感器算是Android的一个特色开发,现在每部手机都会有内置的传感器,它是一种微型的物理设备,能够探测、感受外界的信号,并按一定的规律转换成我们所需要的信息,关于传感器内部的实现,我们就不需要过多了解,只要学会它的使用就可以了。

一、传感器介绍

手机内置的传感器有多种类型,常见的有光照传感器(Sensor.TYPE_LIGHT)、加速度传感器(Sensor.TYPE_ACCELEROMETER)、方向传感器(Sensor.TYPE_ORIENTION)、地磁传感器(Sensor.TYPE_MAGNETIC_FIELD)、温度传感器(Sensor.TYPE_TEMPERATURE)、压力传感器(Sensor.TYPE_PRESSURE)等。

光照传感器

光照传感器在Android应用中比较常见,比如系统自动调整屏幕亮度的功能。

加速度传感器

加速度传感器是用于描述运动速度改变快慢的,它以m/s2为单位。(三维:XYZ轴,利用它可以模仿微信的摇一摇)

方向传感器

方向传感器用于感应手机设备的摆放状态,方向传感器可以返回三个角度,来确定手机的摆放状态。
第一个角度:表示手机顶部朝向与正北方向的夹角
第二个角度:表示手机顶部或尾部翘起的角度
第三个角度:表示手机左侧或右侧翘起的角度

地磁传感器

地磁传感器主要终于读取手机设备外部的磁场强度,,慈航传感器将会返回三个数据,风别代表XYZ轴上的磁场分量。

温度传感器

温度传感器用于获取手机设备所处的环境温度,单位是摄氏度。

压力传感器

压力传感器用于获取手机设备所处环境压力的大小。压力传感器返回一个数据,代表手机设备周围压力的大小。

二、传感器的使用

  传感器的使用方法可以说是一通百通,获取方式都是相同的,只是获取的类型不同而已。传感器的获得是通过获取系统服务获得。
  (1)获取我们想要的传感器类型
  首先我们需要一个管理传感器的管理者,通过传感器管理者获取我们想要的传感器类型。

//获取管理者
SensorManager  msensormanager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//通过管理者获取具体的传感器类型
    Sensor  maccsensor = msensormanager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

(2)传感器的监听事件
  我们获得了传感器,就需要利用传感器来做些什么,如何检测传感器的变化,来做我们想要做的事情呢?这样我们就需要对传感器的事件进行监听。

//使用SensorEventListener 对传感器进行监听
//该对象必须放在监听器注册之后,否则获取不到数据
private SensorEventListener msensorlistener = new SensorEventListener() {
//传感器变化,在此方法中获取SensorEvent的values数组,
//分别记录我们获取的传感器的输出数值,可以根据这些数值,进行操作
@Override
        public void onSensorChanged(SensorEvent event) {    

        }
  //精度改变
        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };

(3)注册/注销监听事件
注册

msensormanager.registerListener(msensorlistener, maccsensor,SensorManager.SENSOR_DELAY_GAME);

注销

    //在onDestroy方法中进行注销
    msensormanager.unregisterListener(msensorlistener);

  通过上面的方式,我们就可以使用传感器进行相关操作了。

三、应用实例(指南针)

1、

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值