安卓獲取重力加速度例子

package uni.sensor; import java.util.Iterator; import java.util.List; import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.util.Log; public class SensorDemoActivity extends Activity {      //設置LOG標籤 private static final String TAG = "sensor"; private  SensorManager sm;     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         //創建一個SensorManager來獲取系統的傳感器服務         sm = (SensorManager)getSystemService(Context.SENSOR_SERVICE);         //選取加速度感應器         int sensorType = Sensor.TYPE_ACCELEROMETER;                  sm.registerListener(myAccelerometerListener,sm.getDefaultSensor(sensorType),SensorManager.SENSOR_DELAY_NORMAL);              }          final SensorEventListener myAccelerometerListener = new SensorEventListener(){          //複寫onSensorChanged方法     public void onSensorChanged(SensorEvent sensorEvent){     if(sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER){     Log.i(TAG,"onSensorChanged");          //圖解中已經解釋三個值的含義     float X_lateral = sensorEvent.values[0];     float Y_longitudinal = sensorEvent.values[1];     float Z_vertical = sensorEvent.values[2];     Log.i(TAG,"\n heading "+X_lateral);     Log.i(TAG,"\n pitch "+Y_longitudinal);     Log.i(TAG,"\n roll "+Z_vertical);     }     }     //複寫onAccuracyChanged方法     public void onAccuracyChanged(Sensor sensor , int accuracy){     Log.i(TAG, "onAccuracyChanged");     }     };          public void onPause(){     sm.unregisterListener(myAccelerometerListener);     super.onPause();     }      }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章