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

代码: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. js判断手机系统类型
  4. Android传感器API:近距离感应Proximity
  5. Android 重力感应选号码
  6. [Android实例] Android 深入解析光传感器(一)
  7. Android NDK开发之旅(3): 详解JNI数据类型与C/C++、Java之间的互
  8. Android 开发中Parcel存储类型和数据容器

随机推荐

  1. 用C/C++开发android应用
  2. [转]Android(安卓)xmlns 的作用及其自定
  3. Android获取屏幕分辨率及DisplayMetrics
  4. android-【机型-版本-分辨率】测试点罗列
  5. android以后台service的方式获取GPRS数据
  6. 如何开发一个适配Android和iOS双平台的Re
  7. 浅析 Android(安卓)生命周期(一)
  8. Android问答
  9. Android(安卓)5.0后截屏,无需root
  10. Android(安卓)NDK 面试题汇总