参数含义:
1.SensorEventListenner Listener 监听传感器事件的监听器
2.,Sensor sensor, 传感器对象
3.int samplingPeriodUs 获取传感器数据的频率
(1)SensorManager.SENSOR_DELAY_GAME
(2)SensorManager.SENSOR_DELAY_FASTEST
(3)SensorManager.SENSOR_DELAY_UI
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]
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(入门案例)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)