Android代码----传感器---方向传感

jopen 11年前

一个简单的小Demo测试手机方向传感:

具体代码如下:

Android代码----传感器---方向传感

[Java代码]Sample.java

package com.example.test_sensor_orientation;    import org.openintents.sensorsimulator.hardware.Sensor;  import android.app.Activity;  import android.hardware.SensorManager;  import android.os.Bundle;  import android.widget.TextView;    public  class Sample extends Activity implements  android.hardware.SensorEventListener {      TextView myTextView1;   TextView myTextView2;   TextView myTextView3;      private SensorManager mySensorManager;     @Override   public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    myTextView1 = (TextView) findViewById(R.id.myTextView1);    myTextView2 = (TextView) findViewById(R.id.myTextView2);    myTextView3 = (TextView) findViewById(R.id.myTextView3);    mySensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);     }     @Override   protected void onResume() {    mySensorManager.registerListener(      this,      mySensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),      SensorManager.SENSOR_DELAY_GAME      );    super.onResume();   }     @Override   protected void onStop() {    // TODO Auto-generated method stub    mySensorManager.unregisterListener(this);    super.onStop();   }   @Override   protected void onPause() {    mySensorManager.unregisterListener(this);    super.onPause();   }     @Override   public void onAccuracyChanged(android.hardware.Sensor sensor, int accuracy) {    // TODO Auto-generated method stub       }     @Override   public void onSensorChanged(android.hardware.SensorEvent event) {    // TODO Auto-generated method stub    float[] values = event.values;    int sensorType = event.sensor.TYPE_ORIENTATION;    if (sensorType == Sensor.TYPE_ORIENTATION) {     myTextView1.setText("Yaw为:"+values[0]);      myTextView2.setText("Pitch为:"+values[1]);      myTextView3.setText("Roll为:"+values[2]);     }   }    }
[XML代码]main.xml
<LinearLayout 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:orientation="vertical" >        <TextView          android:id="@+id/myTextView1"          android:layout_width="wrap_content"          android:layout_height="wrap_content"    />      <TextView          android:id="@+id/myTextView2"          android:layout_width="wrap_content"          android:layout_height="wrap_content"    />      <TextView          android:id="@+id/myTextView3"          android:layout_width="wrap_content"          android:layout_height="wrap_content"    />    </LinearLayout>
String.xml
<?xml version="1.0" encoding="utf-8"?>   <resources>   <string name="hello">Hello World, Sample</string>   <string name="app_name">Sample</string>   <string name="title">方向传感器</string>   <string name="myTextView1">Yaw为:</string>   <string name="myTextView2">Pitch为:</string>   <string name="myTextView3">Roll为:</string>   </resources> 
来自:http://blog.csdn.net/jerome_xx/article/details/8711484