Работа с акселерометром

  1. package com.mycompany.myapp;
  2.  
  3. import android.app.*;
  4. import android.hardware.*;
  5. import android.os.*;
  6. import android.util.*;
  7. import android.widget.*;
  8.  
  9. public class MainActivity extends Activity implements SensorEventListener {
  10.  
  11.     public SensorManager sm;
  12.     public TextView text;
  13.  
  14.     @Override
  15.     public void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.main);
  18.  
  19.         text = (TextView)findViewById(R.id.text);
  20.         sm = (SensorManager)getSystemService(SENSOR_SERVICE);
  21.         sm.registerListener(this, sm.getDefaultSensor(
  22.                 Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
  23.     }
  24.  
  25.     public void onSensorChanged(SensorEvent p1) {
  26.         float[] v = p1.values;
  27.         float x = v[0];
  28.         float y = v[1];
  29.         float z = v[2];
  30.         text.setText("X="+x+"\nY="+y+"\nZ="+z);
  31.     }
  32.  
  33.     public void onAccuracyChanged(Sensor p1, int p2) {  }
  34.  
  35.     protected void onPause() {
  36.         super.onPause();
  37.         sm.unregisterListener(this);
  38.     }
  39.     protected void onResume() {
  40.         super.onResume();
  41.         sm.registerListener(this, sm.getDefaultSensor(
  42.                 Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
  43.     }
  44. }
Простой пример.

Реклама

Мы в соцсетях

tw tg yt gt