Utilisation de la boussole
Bonjour à toutes et à tous,
Je voudrais utiliser la boussole de mon smartphone (Galaxy S 2) et j'ai écrit le code ci-après. Ça compile, ça s'exécute, mais ça n'affiche rien du tout. Avez-vous une idée de ce qui coince ?
Merci de votre aide.
Pierre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| package com.example.senseurs;
import java.util.List;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView AZ;
SensorEventListener sensorListener;
SensorManager sensorManager; //Le gestionnaire des capteurs
Sensor sensor; //Notre capteur de la boussole numérique
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AZ = (TextView)findViewById(R.id.Azimut);
sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
//Demander au gestionnaire de capteur de nous retourner les capteurs de type boussole
List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ORIENTATION);
sensor = sensors.get(0); //Notre listener sur le capteur de la boussole numérique
//Lier les évènements de la boussole numérique au listener
sensorManager.registerListener(sensorListener, sensor, SensorManager.SENSOR_DELAY_NORMAL);
sensorListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
float A = event.values[SensorManager.DATA_X];
AZ.setText(String.format("%02d", A));
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
}
} |