美文网首页
Android传感器的使用

Android传感器的使用

作者: 懵懵懂懂_YOYO | 来源:发表于2022-04-08 09:24 被阅读0次

目前每部Android 手机里面都会内置有许多的传感器,它们能够监测到各种发生在手机上的物理事件,而我们只要灵活运用这些事件就可以编写出很多好玩的应用程序。下面我们开始简单的传感器使用的学习。

传感器的简要说明

一、手机传感器的介绍:

1.手机内置的传感器是一种微型的物理设备,它能够探测、感受到外界的信号,并按一定规律转换成我们所需要的信息。

2.Android手机通常会支持多种类型的传感器,如光照传感器,地磁传感器,压力传感器,温度传感器。

3.Android手机只是负责将这些传感器所输出的信息传递给我们,至于具体如何去利用这些信息就要我们在程序中具体去利用这些得到的数据去处理了。

二、手机支持的传感器类型

从Android1.5开始,系统内置了对多达八种传感器的支持,他们分别是:加速度传感器(accelerometer)、陀螺仪(gyroscope)、环境光照传感器(light)、磁力传感器(magnetic field)、方向传感器(orientation)、压力传感器(pressure)、距离传感器(proximity)和温度传感器(temperature)。

三、传感器的使用

1.Android所有的传感器都归传感器管理器SensorManager管理,如下是获得传感器的方法:

SensorManager sensorManager  = (SensorManager)getSystemService(SENSOR_SERVICE);

2.获取某个或者某些传感器的方法有如下三种:

第一种:获取某种传感器:

Sensor defaultGyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);

第二种:获取某种传感器列表:

List<Sensor> pressureSensors = sensorManager.getSensorList(Sensor.TYPE_PRESSURE);

第三种:获取所有传感器列表:

 List<Sensor> allSensors = sensorManager.getSensorList(Sensor.TYPE_ALL);

四、某个传感器的信息获取:

image.png

五、现阶段Android支持的传感器有8种:

image.png

传感器的实例(加速度传感器的使用)

1.初始化

private SensorManager sensorManager =null;

private Sensor accelerometerSensor =null;
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

gyroSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);

accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

2.加速度传感器的事件

private SensorEventListener AcclerListener =new SensorEventListener() {

    @Override

    publicvoid onSensorChanged(SensorEvent event) {

        // 加速度可能会是负值,所以要取它们的绝对值
        floatxValue = Math.abs(event.values[0]);

        floatyValue = Math.abs(event.values[1]);

        floatzValue = Math.abs(event.values[2]);

        if(xValue > 15 || yValue > 15 || zValue > 15) {

            // 认为用户摇动了手机,触发摇一摇逻辑Toast.makeText(MainActivity.this, "摇一摇", Toast.LENGTH_SHORT).show();

        }

    }

    @Override

    public void onAccuracyChanged(Sensor sensor,int accuracy) {

        Log.i(TAG, "on accuracy change: " + accuracy);

    }

};

3.在onDestory方法调用 unregisterListener() 方法来释放使用的资源。

@Override
protected void onDestroy() {

    super.onDestroy();

    if(sm !=null) {

        sm.unregisterListener(AcclerListener);

    }

}

相关文章

  • android传感器

    android传感器的种类 Sensor framework 使用Android的sensor framework...

  • android Sensor 安卓 传感器

    android Sensor 安卓 传感器 传感器基本使用 ''' 获取传感器管理器者 SensorManag...

  • Android手机传感器的简单介绍

    Android手机传感器的使用 1、传感器的分类 动作传感器:加速度传感器、重力传感器、陀螺仪等位置传感器:方向传...

  • Android Things(三)-传感器与相机功能

    AndroidThings传感器添加 Android 传感器框架支持多种传感器类型来感知周边环境数据。使用Andr...

  • 传感器

    1.传感器使用场景 Android传感器按大方向划分大致有这么三类传感器:动作(Motion)传感器、环境(Env...

  • Android 计步功能-简单实现

    使用Android4.4 Kitkat 新增的STEP DETECTOR 以及 STEP COUNTER传感器。 ...

  • Android Things:用户驱动-传感器

    一、传感器简介 Android传感器框架支持多种传感器类型来测量物理环境的状况,并且从应用程序读取原始数据。使用传...

  • Android传感器

    一.Android的三大类传感器 Android传感器按大方向划分大致有这么三类传感器:动作(Motion)传感器...

  • 传感器

    一.Android的三大类传感器 Android传感器按大方向划分大致有三类传感器:动作(Motion)传感器、环...

  • Android传感器(第一篇)

    Android传感器定义 Android 传感器相关术语微机电传感器(MEMS)MEMS 通常制作在规格很小的硅芯...

网友评论

      本文标题:Android传感器的使用

      本文链接:https://www.haomeiwen.com/subject/rdoesrtx.html