ASF(传感器)

ASF(传感器)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

版权声明:曾经的Blog文章合并。原创作品,谢绝转载。否则将追究法律责任。


SensorManager类:用于创建sensor service的实例。该类提供了非常多

用于訪问和枚举传感器,注冊和注销传感器监听器的方法。

并且还提供了

与传感器精度、扫描频率、校正有关的常量。

Sensor类:提供了一些用于获取传感器技术參数的方法。如版本号、类型、

生产商等。


1. TYPE_ACCELEROMETER:加速传感器(硬件传感器)

2. TYPE_AMBIENT_TEMPERATURE:温度传感器(硬件传感器)

3. TYPE_GRAVITY:重力传感器(硬件或软件传感器)

4. TYPE_GYROSCOPE:陀螺仪传感器(硬件传感器)

5. TYPE_LIGHT:光线传感器(硬件传感器)

6. TYPE_LINEAR_ACCELERATION:线性加速传感器(硬件或软件传感器)

7. TYPE_MAGNETIC_FIELD:磁场传感器(硬件传感器)

8. TYPE_ORIENTATION:方向传感器(软件传感器)。数据来自重力和磁场传感器

9. TYPE_PRESSURE:压力传感器(硬件传感器)

10.TYPE_PROXIMITY:临近传感器(硬件传感器)

11.TYPE_RELATIVE_HUMIDITY:湿度传感器(硬件传感器)

12.TYPE_ROTATION_VECTOR:旋转向量传感器(硬件或软件传感器)


SensorEvent类:系统使用该类创建传感器事件对象。该对象能够提供与

传感器事件有关的信息。传感器事件对象包含的信息有原始的传感器回传

数据、传感器类型、数据的精度以及触发事件的时间。

SensorEventListener接口:该接口包括两个回调方法,当传感器的回传

值或精度发生变化时,系统会调用这两个回调方法。

<span style="font-size:12px;">//获取传感器列表SensorManager mSensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);        List<Sensor> mSensors=mSensorManager.getSensorList(Sensor.TYPE_ALL);        for (Sensor sensor : mSensors) {            mSensorTv.append(sensor.getName()+"\n");        }</span>

<span style="font-size:12px;">/**
 * @author linwb
 */
public class MainActivity extends Activity implements SensorEventListener{
    private TextView mSensorTv;
    private SensorManager mSensorManager;
    private float[] adjustArgs=new float[3];
       
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
           
        mSensorTv=(TextView) findViewById(R.id.sensorTv);
        mSensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
    }
       
       
    @Override
    protected void onPause() {
        super.onPause();
        mSensorManager.unregisterListener(this);
    }
       
    @Override
    protected void onResume() {
        super.onResume();
        //第三个參数为刷新的频率
        //SensorManager.SENSOR_DELAY_FASTEST 最快
        //SensorManager.SENSOR_DELAY_GAME 游戏
        //SensorManager.SENSOR_DELAY_NORMAL 普通
        //SensorManager.SENSOR_DELAY_UI 用户界面
        mSensorManager.registerListener(this,
                mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                SensorManager.SENSOR_DELAY_UI);
        mSensorManager.registerListener(this,
                mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY),
                SensorManager.SENSOR_DELAY_UI);
    }
       
    @Override
    public void onSensorChanged(SensorEvent event) {
        switch (event.sensor.getType()) {
        case Sensor.TYPE_ACCELEROMETER:
            //去除杂质 在此之前先保证重力传感器存在
//          float x=adjustArgs[0] * 0.9f + event.values[0] *( 1 - 0.9f);
//          float y=adjustArgs[1] * 0.9f + event.values[1] *( 1 - 0.9f);
//          float z=adjustArgs[2] * 0.9f + event.values[2] *( 1 - 0.9f);
               
            String reslut=(event.values[0])+"  "+(event.values[1])
                    +"  "+(event.values[2]-9.81f);
            mSensorTv.setText(reslut);
            break;
        case Sensor.TYPE_GRAVITY:
            adjustArgs[0]=event.values[0];
            adjustArgs[1]=event.values[1];
            adjustArgs[2]=event.values[2];
            break;
        default:
            break;
        }
    }
       
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
           
    }
}</span>

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116829.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月14日 下午11:00
下一篇 2022年1月15日 上午6:00


相关推荐

  • 深度学习中的自动编码器:TensorFlow示例

    深度学习中的自动编码器:TensorFlow示例什么是自动编码器?  自动编码器是重建输入的绝佳工具。简单来说,机器就是一个图像,可以生成一个密切相关的图片。这种神经网络中的输入是未标记的,这意味着网络能够在没有监督的情况下进行学习。更准确地说,输入由网络编码,仅关注最关键的特征。这是自动编码器因降维而流行的原因之一。此外,自动编码器可用于生成生成学习模型。例如,神经网络可以用一组面部训练,然后可以产生新的面部。Autoencoder如何工…

    2022年6月3日
    46
  • sendfile:Linux中的”零拷贝”

    sendfile:Linux中的”零拷贝”如今几乎每个人都听说过Linux中所谓的”零拷贝”特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将从用户空间应用程序的角度来阐述这个问题,因此有意忽略了复杂的内核实现。什么是”零拷贝”为了更好的理解问题的解决法,我们首先需要理解问题本身。首先我们以一个网络服务守护进程为例,考虑它在将存储在文件

    2022年6月1日
    32
  • DNS工作原理

    DNS工作原理

    2021年11月12日
    57
  • Ubuntu下安装vscode_附近有安装etc的吗

    Ubuntu下安装vscode_附近有安装etc的吗目录一、安装VSCode1、VSCode下载2、安装VSCode二、配置C/C++环境1、配置g++环境1.1安装vim1.2安装g++2、安装汉化、C/C++插件3、建立工程4、更改lanuch.json文件5、更改task.json文件6、完美运行我的Ubuntu已经换源了,但是在浏览器中下载比较慢,可以在window中下载好直接拖到虚拟机中。如何在windows和虚拟机Ubuntu中拖拽文件参阅:两行代码实现Windows和…

    2026年1月16日
    6
  • Fragstats3.4 景观指数计算以及导出至ArcGis详细步骤

    Fragstats3.4 景观指数计算以及导出至ArcGis详细步骤1 环境变量设置 设置了以后打开 Fragstats 后标题栏才会显示 enabled 否则显示 disabled 打开 ArcGis10 0 的 Bin 文件夹 将整个目录路径复制下来 打开我的电脑 属性 高级 环境变量 在系统变量里新建一个系统变量 变量名为 path 将刚刚复制的路径粘贴到变量值的文本框里 ok 2 运行 Fragstats3 4 注意 Fragstats3 4

    2026年3月17日
    7
  • redis+springboot_全集成厨房

    redis+springboot_全集成厨房一、Redis集成简介Redis是我们Java开发中,使用频次非常高的一个nosql数据库,数据以key-value键值对的形式存储在内存中。redis的常用使用场景,可以做缓存,分布式锁,自增序列等,使用redis的方式和我们使用数据库的方式差不多,首先我们要在自己的本机电脑或者服务器上安装一个redis的服务器,通过我们的java客户端在程序中进行集成,然后通过客户端完成对redis的增删改查操作。redis的Java客户端类型还是很多的,常见的有jedis,redission,lettuce等,

    2026年2月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号