2011-01-08 39 views

回答

0

如果你指的是X,Y,Z座標,不能你只是乘以-1呢? 這是我做了什麼,當我第一次開始與加速度計亂搞:

​​

進口android.app.Activity; import android.hardware.Sensor; 進口android.hardware.SensorEvent; 進口android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView;

公共類加速度傳感器延伸活動{

SensorManager sensorManager; 
Sensor accelerometer; 
TextView textView; 
private SensorEventListener sensorEventListener = new SensorEventListener() { 

    public void onAccuracyChanged(Sensor sensor, int accuracy) { 

    } 

    public void onSensorChanged(SensorEvent event) { 

     float x = event.values[0]; 
     float y = event.values[1]; 
     float z = event.values[2]; 
     update(x, y, z); 
    } 
}; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    textView = new TextView(this); 
    setContentView(textView); 
    sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); 
    accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
} 

public void update(float x, float y, float z) { 

    textView.setText("x: " + x + " y: " + y + " z: " + z); 
} 

protected void onResume() { 
    super.onResume(); 
    sensorManager.registerListener(sensorEventListener, accelerometer, SensorManager.SENSOR_DELAY_NORMAL); 
} 

protected void onPause() { 
    super.onPause(); 
    sensorManager.unregisterListener(sensorEventListener); 
} 

}

+0

不,我的意思是我要加速轉化爲世界座標的X,Y,Z ,無論手機的配置如何,重力的所有效果都始終在Z軸上 – 2011-01-08 01:18:26

0

http://developer.android.com/reference/android/hardware/SensorEvent.html#values因爲這裏說的價值觀 - 加速度,沒有座標的數組..

你能中心聯繫我,現在,我試圖獲得電話的協調(不是全球性的,而是本地的)並且不確定我的東西的工作是否正確。

的想法是,你會得到配置(有點校準)手機的世界COORDS然後應用手機的座標轉換成新的系統

相關問題