Hallo,
ich muss das Accelerometer in Android 4.0.3 ansprechen.
in der API hier ist ein Beispiel zu den Accelerometer, könnte mir das jemand verständlich auskommentieren oder erklären?
Wie kann in mit den gelieferten x-,y- und z-Werten arbeiten? Also zum beispiel einfach ein Bildchen über den Bildschirm bewegen?
Hallo,
du kannst das Bild einfach mit den Sensorwerten beschleunigen. Dabei eine sinnvolle Umrechnung von m/s² in px/s² einführen. Die z-Achse kannst du dabei vernachlässigen.
bildgeschwindigkeit += beschleunigung \* zeitschritt
bildposition += bildgeschwindigkeit \* zeitschritt
Die Geschwindigkeit am Anfang auf 0 initialisieren.
Nico
klingt soweit Logisch, aber woher bekomme ich die Werte? Könntest du mir erklären
wie man die methoden aus der API von oben nutzt?
Also:
public class SensorActivity extends Activity, implements SensorEventListener {
private final SensorManager mSensorManager; //wofür braucht man den SonsorManager
private final Sensor mAccelerometer; //Welche Methoden kann ich mit dem Sensor
// nutzen?
public SensorActivity() {
//Was passiert hier?
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
//man holt den Sensor?!
mAccelerometer = mSensorManager.getDefaultSensor(
Sensor.TYPE_ACCELEROMETER);
}
protected void onResume() {
super.onResume();
// Der Sensor wird Registriert, wofür stehen die Parameter?,…
mSensorManager.registerListener(this, mAccelerometer,
SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause() {
super.onPause();
// Sobald die Activity nicht mehr sichtbar ist wird der Sensor abgemeldet…
mSensorManager.unregisterListener(this);
}
//Diese Methoden werden wohl automatisch aufgerufen, aber was bringen sie mir,
//was kann ich damit machen?
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
}
}