F
funk
Ambitioniertes Mitglied
- 2
Hallo,
wie ich hier im Forum schon beschrieben habe bastel ich an einer App um Dead Reckoning mit dem Milestone durchzuführen.
Ich habe jetzt versucht alle Accelerometer-bezogenen Funktionen aus meiner eigentlichen Activity in eine andere Klasse auszulagern. Wenn ich diese dann in meiner Activity instantiiere, hängt sich meine App immer an der Stelle auf, an der sie den SensorManager aufrufen und den SensorEventListener registrieren soll...
Sieht einer von euch den Fehler und kann mir helfen? Ich weiß langsam keinen Rat mehr...
Gruß,
Frank
Hier die eigentliche Sensors-Klasse
Hier die Ausgelagerte Accelerometer-Klasse
wie ich hier im Forum schon beschrieben habe bastel ich an einer App um Dead Reckoning mit dem Milestone durchzuführen.
Ich habe jetzt versucht alle Accelerometer-bezogenen Funktionen aus meiner eigentlichen Activity in eine andere Klasse auszulagern. Wenn ich diese dann in meiner Activity instantiiere, hängt sich meine App immer an der Stelle auf, an der sie den SensorManager aufrufen und den SensorEventListener registrieren soll...
Sieht einer von euch den Fehler und kann mir helfen? Ich weiß langsam keinen Rat mehr...
Gruß,
Frank
Hier die eigentliche Sensors-Klasse
Code:
package de.zeh.android.Sensors;
import ...
public class Sensors extends Activity{
// Deklaration der Variablen
...
// Deklaration der Klassen zum Triggern der Konstruktoren
Accelerometer mAccelerometer;
// Ende Deklaration
//----------------------------------------------------------------------
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("Log S 1","onCreate gestartet");
mAccelerometer = new Accelerometer(this);
Log.d("Log S 2","mAccelerometer instantiiert");
// Layout Definition
setContentView(R.layout.main);
...
}
Code:
package de.zeh.android.Sensors;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.util.Log;
public class Accelerometer extends Sensors implements SensorEventListener{
// Deklaration der Sensor-Werkzeuge und -Variablen
private SensorManager mSensorManager;
private SensorEventListener sensorlistener;
float[] magnetic_values;
float[] accelerometer_values;
float[] actual_orientation;
boolean sensorReady = false;
public Accelerometer(Activity parent) {
Log.d("Log A 1","Accelerometer aufgerufen");
this.mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
// hier hängt sich die App auf!!
this.mSensorManager.registerListener(sensorlistener, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_UI);
this.mSensorManager.registerListener(sensorlistener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_UI);
Log.d("Log A 2","Listener registriert");
}