1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. funk, 20.07.2010 #1
    funk

    funk Threadstarter Android-Hilfe.de Mitglied

    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
    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);
            ...
        }
    Hier die Ausgelagerte Accelerometer-Klasse
    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");
            
        }
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Eine Klasse um das aufrufen anderer Intents zu regeln Android App Entwicklung 24.05.2017
[ERLEDIGT] Tipps für AsyncTask Klasse Android App Entwicklung 18.05.2017
[ERLEDIGT] Popup mit Fragment realisieren oder besser eine andere Klasse nehmen? Android App Entwicklung 22.03.2017
Canvas - onDraw(): 1 invalidate() sind 3 Aufrufe von onDraw() ? Android App Entwicklung 08.02.2017
Du betrachtest das Thema "SensorEventListener: Aufruf in anderer Klasse" im Forum "Android App Entwicklung",