传感器的实现Android(入门案例)

传感器的实现Android(入门案例),第1张

概述sensor使用步骤1.通过Context获取到SensorManager对象2.为sensorManager注册监听器(在Activity的onResume)参数含义:1.SensorEventListennerlistener监听传感器事件的监听器2.,Sensorsensor,传感器对象3.intsamplingPeriodUs获取传感器数据的频率(1)SensorManager.SE sensor使用步骤 1.通过Context获取到SensorManager对象2.为sensorManager注册监听器(在Activity的 onResume)

参数含义:
1.SensorEventListenner Listener 监听传感器事件的监听器
2.,Sensor sensor, 传感器对象
3.int samplingPeriodUs 获取传感器数据的频率
(1)SensorManager.SENSOR_DELAY_GAME
(2)SensorManager.SENSOR_DELAY_FASTEST
(3)SensorManager.SENSOR_DELAY_UI

3.在Activity的 onPause方法取消注册
sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_GAME);
onSensorChanged方法中获得回调的数据

implements SensorEventListener的实现方法中重写onSensorChanged,
里面有三个值分别为x,y,z轴值:values[0],values[1],values[2]

java代码
package com.mt.sensor;import androID.annotation.TargetAPI;import androID.content.Context;import androID.harDWare.Sensor;import androID.harDWare.SensorEvent;import androID.harDWare.SensorEventListener;import androID.harDWare.SensorManager;import androID.os.Build;import androID.os.Bundle;import androID.Widget.TextVIEw;import androIDx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity  implements SensorEventListener {    TextVIEw exTxt1;SensorManager sensorManager;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        exTxt1= findVIEwByID(R.ID.txt1);        //1.获取系统的传感器管理服务        sensorManager= (SensorManager) getSystemService(Context.SENSOR_SERVICE);    }    @TargetAPI(Build.VERSION_CODES.LolliPOP)    @OverrIDe    protected voID onResume() {        super.onResume();        //2.为系统的加速度传感器注册监听事件        sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_GAME);    }    @OverrIDe    protected voID onPause() {        super.onPause();        //取消注册        sensorManager.unregisterListener(this);    }//传感器的1值发生变化回调    @OverrIDe    public voID onSensorChanged(SensorEvent sensorEvent) {        float[] values=sensorEvent.values;        String sb="x方向加速度:"+                values[0]+                "\nY轴方向加速度:"+                values[1]+                "\nZ轴方向加速度:"+                values[2];        exTxt1.setText(sb);    }    @OverrIDe    public voID onAccuracyChanged(Sensor sensor, int i) {    }}
xml代码
<?xml version="1.0" enCoding="utf-8"?><androIDx.constraintlayout.Widget.ConstraintLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    tools:context=".MainActivity">    <TextVIEw        androID:ID="@+ID/txt1"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:text="Hello World!"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintleft_toleftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constrainttop_totopOf="parent" /></androIDx.constraintlayout.Widget.ConstraintLayout>
界面展示

总结

以上是内存溢出为你收集整理的传感器的实现Android(入门案例)全部内容,希望文章能够帮你解决传感器的实现Android(入门案例)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1038384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存