获取重力传感器的值大小并显示出来:

代码: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>



更多相关文章

  1. 简单的通过request判断客户端设备类型
  2. Android(安卓)Get Network Type获得网络类型
  3. Android(安卓)获取播放视频的相关 内容, 分辨率, 方向,作者信息
  4. Android自动化工具Monkeyrunner使用(六) —— 根据ID查找对象
  5. Android代码实现APK文件的安装与卸载
  6. Android传感器API:近距离感应Proximity
  7. Android(安卓)利用handler传递数据
  8. Android_开发 Android传感器(加速度传感器,磁场传感器,光线传感器,方
  9. Android(安卓)重力感应选号码

随机推荐

  1. 关于VMware虚拟机磁盘收缩的几种方法
  2. 11g 逻辑备库简单故障处理
  3. Authid Current_User的使用
  4. TimesTen学习(四)Data Manager守护进程
  5. 【故障处理】队列等待之enq IV - content
  6. 【DG】怎么使用Data Pump备份物理备库
  7. DNS 引起经典RAC故障
  8. ORA-01578和ORA-26040--NOLOGGING操作引
  9. 告别躺赢,我靠索引+函数
  10. 利用 OpenRestry 实现负载均衡、限流功能