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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Postman教程大全「建议收藏」

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件Postman背景介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。Postman的操

    2022年4月6日
    47
  • 机器学习、云计算与智能挖掘国际会议MLCCIM2022

    机器学习、云计算与智能挖掘国际会议MLCCIM2022会议基本信息【会议简称】:MLCCIM2022【会议全称】:InternationalConferenceonMachineLearning,CloudComputingandIntelligentMining【截稿日期】:2022年3月21日【会议时间】:2022年5月27-29日【大会官网】:http://www.mlccim.org/【投稿邮箱】:mlccim@126.com【会议地点】:中国·厦门【收录检索】:EI、Scopus大会主席龙汉,

    2022年7月25日
    35
  • idea添加tomcat插件_tomcat配置idea

    idea添加tomcat插件_tomcat配置idea配置tomcat插件,一直报错,自己一点儿一点儿排错,一点儿一点儿,心态都要奔溃了,搜索了很多的教程都不行,花了34个小时,终于可以了,下面是错误信息,还有另一个但是我没来的及复制另一个错误信息,抱歉。错误信息:严重:Errorconfiguringapplicationlistenerofclassorg.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException:org.sp

    2022年10月10日
    4
  • 个人觉得好用的Xmind快捷键(mac)[通俗易懂]

    个人觉得好用的Xmind快捷键(mac)[通俗易懂]commandN新建脑图空格修改文字Delete删除文字commandZ撤销上一步Enter添加平行分支Tab添加子节点command+/-放大/缩小commandI上传图片command+Shift+H插入超链接command+1,2,3,4,5,6快速添加优先等级图标-收缩目前分支方向键展开当前分支…

    2022年6月5日
    77
  • 离线数仓和实时数仓架构与设计

    离线数仓和实时数仓架构与设计前言:离线数仓和实时数仓架构与设计讲解离线数仓和实时数仓架构与设计一、数仓架构演变(场景驱动)二、离线大数据架构三、离线数仓分层四、离线大数据架构典型案例1、Lambda架构1.Lambda架构2.Lambda架构进一步了解3.Lambda架构典型案例4.Lambda架构典型案例(有赞广告团,基于Druid)5.Lambda架构存在的问题2、Kappa架构1.Kappa架构典型案例2.Kappa架构典型案例(一Kylin为例)3.Kappa架构的重新处理过程3、Lambda架构vsKappa架构的对比

    2022年5月10日
    47
  • python中numpy库的作用_python random库

    python中numpy库的作用_python random库一、什么是NumPyNumpy–NumericalPython,是一个基于Python的可以存储和处理大型矩阵的库。几乎是Python生态系统的数值计算的基石,例如Scipy,Pandas,Scikit-learn,Keras等都基于Numpy。使用Numpy,可以进行:1.数组和逻辑运算2.傅里叶变换和图形操作实例3.线性代数相关的运算操作功能很强大有木有???但是Python官网上的…

    2022年8月28日
    3

发表回复

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

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