1. manu, 12.04.2009 #1
    manu

    manu Threadstarter Fortgeschrittenes Mitglied

    Hallo,

    ich versuche schon eine Weile den Beschleunigungssensor auszulesen.
    Bis jetzt erhalte ich aber immer die Werte vom Lagesensor.

    Hat einer für mich einen Tipp, wie man den ausliest?


    Gruß Manu
     
  2. Markus, 18.04.2009 #2
    Markus

    Markus Gewerbliches Mitglied

    Ich mach das so (es muss nicht unbedingt SENSOR_ALL sein):

    ...
    SensorManager sensor = (SensorManager) getSystemService(SENSOR_SERVICE);
    sensor.registerListener(this, SensorManager.SENSOR_ALL, SensorManager.SENSOR_DELAY_GAME);
    ...

    und

    public void onSensorChanged(int sensor, float[] values) {
    if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
    float x = values[0];
    float y = values[1];
    float z = values[2];
    ...
    } else if (sensor == SensorManager.SENSOR_ORIENTATION) {
    float x = values[0];
    float y = values[1];
    float z = values[2];
    ...
    } else {
    ...
    }
    }
     
  3. manu, 18.04.2009 #3
    manu

    manu Threadstarter Fortgeschrittenes Mitglied

    Danke, das muss ich bei Gelegenheit mal testen.
    Ich hatte in Erinnerung, dass ich das so auch probiert habe.
     
  4. Centin, 11.05.2009 #4
    Centin

    Centin Neuer Benutzer

    Tach,
    hab seit kurzem damit begonnen mit dem G1 zu experimentieren und suche ein Code-Besipiel zum Beschleunigungs/Lagesensor. So dass die aktuellen werte einfach in einem TextView angezeigt werden. Also der Code oben sieht schon gut aus, ist aber leider nicht vollständig könntet ihr die restlichen Zeilen oder einen Link zu einem guten Beispiel posten? Bin erst seit kurzem bei Java dabei hatte vorher nur mit C++ zutun und die DOku auf Android.com ist nicht wirklich hilfreich.:(

    Danke im Vorraus!
     
  5. swordi, 02.06.2009 #5
    swordi

    swordi Gewerbliches Mitglied


    ja so funktioniert das bestimmt, aber mit 1.5 ist der sensorlistener deprecated und sensoreventlistener ist neu

    gibts dazu irgendwelche infos dazu?
     
  6. prihei, 03.06.2009 #6
    prihei

    prihei Neuer Benutzer

    hier ein kleiner Ausschnitt meinerseits:

    Erstmal der SensorEventListener:
    Code:
    private class DeviceSensor implements SensorEventListener {
    ...
    }
    
    Dann nur noch registrieren:
    Code:
    deviceSensor = new DeviceSensor();
    
    SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    
    mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
          mSensorManager.registerListener(deviceSensor,
                                          mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                                          SensorManager.SENSOR_DELAY_NORMAL);
          mSensorManager.registerListener(deviceSensor,
                                          mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
                                          SensorManager.SENSOR_DELAY_FASTEST);
     
  7. swordi, 03.06.2009 #7
    swordi

    swordi Gewerbliches Mitglied

    danke für deinen code

    ich werde ihn mal probieren bei mir zu integrieren.

    geht das bei dir im emulator auch? hab etwas gelesen, dass 1.5 probleme mit dem sensormanager hat??
     

Users found this page by searching for:

  1. android beschleunigungssensoren

    ,
  2. beschleunigung erkennen android java

    ,
  3. sensor beschleunigung android

    ,
  4. android cubot onSensorChanged
Du betrachtest das Thema "Beschleunigungssensor" im Forum "Android App Entwicklung",