android 重力传感器的使用
16lz
2022-04-05
获取重力传感器的值大小并显示出来:
代码:MainActivity.java
package com.example.example;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.widget.TextView;public class MainActivity extends Activity {private TextView grivaty;private SensorManager sensorMgr = null;private float x,y,z; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initUI(); } private void initUI() {// TODO Auto-generated method stub grivaty = (TextView)findViewById(R.id.grivaty); //通过服务得到传感器管理对象 sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE); //得到重力传感器实例 //TYPE_ACCELEROMETER 加速度传感器(重力传感器)类型。 //TYPE_ALL 描述所有类型的传感器。 //TYPE_GYROSCOPE 陀螺仪传感器类型 //TYPE_LIGHT 光传感器类型 //TYPE_MAGNETIC_FIELD 恒定磁场传感器类型。 //TYPE_ORIENTATION 方向传感器类型。 //TYPE_PRESSURE 描述一个恒定的压力传感器类型 //TYPE_PROXIMITY 常量描述型接近传感器 //TYPE_TEMPERATURE 温度传感器类型描述 final Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); SensorEventListener lsn = new SensorEventListener() { @SuppressWarnings("deprecation") //传感器获取值改变时响应此函数 public void onSensorChanged(SensorEvent e) { x = e.values[SensorManager.DATA_X]; y = e.values[SensorManager.DATA_Y]; z = e.values[SensorManager.DATA_Z]; // getsensor(); grivaty.setText("x=" + x + " y=" + y + " z=" + z );//左右x值,左正右负,前后位y值,前负后正 } public void onAccuracyChanged(Sensor s, int accuracy) { } }; //注册listener,第三个参数是检测的精确度 sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME); } }布局文件:main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/grivaty" android:layout_width="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>
更多相关文章
- 简单的通过request判断客户端设备类型
- Android(安卓)Get Network Type获得网络类型
- Android(安卓)获取播放视频的相关 内容, 分辨率, 方向,作者信息
- Android自动化工具Monkeyrunner使用(六) —— 根据ID查找对象
- Android代码实现APK文件的安装与卸载
- Android传感器API:近距离感应Proximity
- Android(安卓)利用handler传递数据
- Android_开发 Android传感器(加速度传感器,磁场传感器,光线传感器,方
- Android(安卓)重力感应选号码