[AndroisStudio] sensory, metoda onSensorChanged.

0

Dzień dobry !
mam pytanko o AndroidStudio, mam program który działa ale bym chciał go bardziej zrozumieć, chodzi o te kilka linijek:

        SM = (SensorManager) getSystemService(SENSOR_SERVICE);
        mySensor = SM.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
        SM.registerListener(this,mySensor,SensorManager.SENSOR_DELAY_NORMAL);

Najbardziej nie rozumiem co robi 3 ( coś jak connect w Qt ? ), ale przydało by się wyjaśnienie pozostałych też : ) Jak najprościej się da : D.

I funkcja:

     @Override
    public void onSensorChanged(SensorEvent event) {
        textView2.setText("X =" + event.values[0]);
        textView3.setText("Y =" + event.values[1]);
        textView4.setText("Z =" + event.values[2]);
    }

dlczego się wykonuje nawet jak nie nastąpi zmiana wartości ? ( na to by wskazywała nazwa ).

Z góry dziękuję za pomoc i życzę Wesołych Świąt : )

0

Metodą registerListener dodajesz listenera tego sensora. W 1 argumencie podajesz klasę, która rozszerza interfejs SensorEventListener. 2 argument sensor a 3 jak często będą odświeżane nowe odczyty. Wszystko wyjaśnia dokumentacja: https://developer.android.com/reference/android/hardware/SensorManager.html#registerListener%28android.hardware.SensorEventListener,%20android.hardware.Sensor,%20int%29

Co do drugiej kwestii to również wszystko jest w dokumentacji:

  Note that "on changed" is somewhat of a misnomer, as this will also be called if we have a new reading from a sensor with the exact same sensor values (but a newer timestamp). 

https://developer.android.com/reference/android/hardware/SensorEventListener.html#onSensorChanged%28android.hardware.SensorEvent%29

0

Dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1