Développer sur Android
Android Lab Test
www.AndroidLabTest.com
Facebook
Par Bruno Delb
www.youtube.com/androidlabtest
www.twitter.com/brunodelb | www.facebook.com/brunodelb | blog.brunodelb.com
www.facebook.com/Androidlabtest
Youtube
Siteofficiel
Leçon : Le capteur gyroscope
Le capteur gyroscope
• Dans cette leçon, vous allez apprendre à utiliser la
capteur gyroscope.
• Pour cela, vous allez utiliser le SensorManager et le
capteur de type TYPE_GYROSCOPE.
Le capteur gyroscope
• Pour utiliser le capteur gyroscope, vous devez récupérer le Gestionnaire
de capteur grâce à la méthode getSystemService() puis récupérer le
capteur par défaut de type TYPE_GYROSCOPE.
SensorManager sensorManager = (SensorManager)this.getSystemService (SENSOR_SERVICE);
Sensor sensorGyroscope = sensorManager.getDefaultSensor (Sensor.TYPE_GYROSCOPE);
Le capteur gyroscope
• Pour obtenir les valeurs du gyroscope, vous devez implémenter
SensorEventListener et les méthodes onAccuracyChanged() et surtout
onSensorChanged(), qui permet d’obtenir les valeurs du capteur :
extends Activity implements SensorEventListener {
public void onAccuracyChanged (Sensor sensor, int accuracy) {
}
public void onSensorChanged (SensorEvent event) {
// Valeurs : event.values [0], event.values [1], event.values [2]
}
Le capteur gyroscope
• Lorsque l’application est suspendue (onPause() appelé) et
quand elle reprend (onResume() appelé), vous devez
respectivement désenregistrer le listener et l’enregistrer :
protected void onResume() {
sensorManager.registerListener (this, sensorGyroscope,
SensorManager.SENSOR_DELAY_GAME);
super.onResume();
}
protected void onPause() {
sensorManager.unregisterListener (this, sensorGyroscope);
super.onPause();
}
Layout main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/tv_output"
android:layout_width="fill_parent"
android:layout_height="match_parent" />
</LinearLayout>
Fichier Main.java
public class Main extends Activity implements SensorEventListener {
private SensorManager sensorManager;
private Sensor sensorGyroscope;
private TextView tv_output;
public void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.main);
tv_output = (TextView)findViewById (R.id.tv_output);
sensorManager = (SensorManager)this.getSystemService (SENSOR_SERVICE);
sensorGyroscope = sensorManager.getDefaultSensor (Sensor.TYPE_GYROSCOPE);
}
public void onSensorChanged (SensorEvent event) {
tv_output.setText ("0: " + event.values [0] + "n" + "1: " + event.values [1] + "n"
+ "2: " + event.values [2] + "n");
}
Fichier Main.java
public void onAccuracyChanged (Sensor sensor, int accuracy) {
}
protected void onResume() {
sensorManager.registerListener (this, sensorGyroscope, SensorManager.SENSOR_DELAY_GAME);
super.onResume();
}
protected void onPause() {
sensorManager.unregisterListener (this, sensorGyroscope);
super.onPause();
}
}
Testez sur votre mobile
Sensor_Gyroscope
Retrouvez-moi sur ma chaîne AndroidLabTest …
Sur ma chaîne Youtube
https://www.youtube.com/user/mobiledevlabtest
Qui suis-je ?
Bruno Delb,
auteur du 1er livre francophone de développement d’application Java sur mobile (2002),
développeur d’applications mobiles & sociales,
parlez-moi de vos projets.
Et bien sûr sur mon site Web :
http://blog.brunodelb.com

Android Lab Test : Le capteur gyroscope (français)

  • 1.
    Développer sur Android AndroidLab Test www.AndroidLabTest.com Facebook Par Bruno Delb www.youtube.com/androidlabtest www.twitter.com/brunodelb | www.facebook.com/brunodelb | blog.brunodelb.com www.facebook.com/Androidlabtest Youtube Siteofficiel Leçon : Le capteur gyroscope
  • 2.
    Le capteur gyroscope •Dans cette leçon, vous allez apprendre à utiliser la capteur gyroscope. • Pour cela, vous allez utiliser le SensorManager et le capteur de type TYPE_GYROSCOPE.
  • 3.
    Le capteur gyroscope •Pour utiliser le capteur gyroscope, vous devez récupérer le Gestionnaire de capteur grâce à la méthode getSystemService() puis récupérer le capteur par défaut de type TYPE_GYROSCOPE. SensorManager sensorManager = (SensorManager)this.getSystemService (SENSOR_SERVICE); Sensor sensorGyroscope = sensorManager.getDefaultSensor (Sensor.TYPE_GYROSCOPE);
  • 4.
    Le capteur gyroscope •Pour obtenir les valeurs du gyroscope, vous devez implémenter SensorEventListener et les méthodes onAccuracyChanged() et surtout onSensorChanged(), qui permet d’obtenir les valeurs du capteur : extends Activity implements SensorEventListener { public void onAccuracyChanged (Sensor sensor, int accuracy) { } public void onSensorChanged (SensorEvent event) { // Valeurs : event.values [0], event.values [1], event.values [2] }
  • 5.
    Le capteur gyroscope •Lorsque l’application est suspendue (onPause() appelé) et quand elle reprend (onResume() appelé), vous devez respectivement désenregistrer le listener et l’enregistrer : protected void onResume() { sensorManager.registerListener (this, sensorGyroscope, SensorManager.SENSOR_DELAY_GAME); super.onResume(); } protected void onPause() { sensorManager.unregisterListener (this, sensorGyroscope); super.onPause(); }
  • 6.
    Layout main.xml <?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/tv_output" android:layout_width="fill_parent" android:layout_height="match_parent" /> </LinearLayout>
  • 7.
    Fichier Main.java public classMain extends Activity implements SensorEventListener { private SensorManager sensorManager; private Sensor sensorGyroscope; private TextView tv_output; public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.main); tv_output = (TextView)findViewById (R.id.tv_output); sensorManager = (SensorManager)this.getSystemService (SENSOR_SERVICE); sensorGyroscope = sensorManager.getDefaultSensor (Sensor.TYPE_GYROSCOPE); } public void onSensorChanged (SensorEvent event) { tv_output.setText ("0: " + event.values [0] + "n" + "1: " + event.values [1] + "n" + "2: " + event.values [2] + "n"); }
  • 8.
    Fichier Main.java public voidonAccuracyChanged (Sensor sensor, int accuracy) { } protected void onResume() { sensorManager.registerListener (this, sensorGyroscope, SensorManager.SENSOR_DELAY_GAME); super.onResume(); } protected void onPause() { sensorManager.unregisterListener (this, sensorGyroscope); super.onPause(); } }
  • 9.
    Testez sur votremobile Sensor_Gyroscope
  • 10.
    Retrouvez-moi sur machaîne AndroidLabTest … Sur ma chaîne Youtube https://www.youtube.com/user/mobiledevlabtest Qui suis-je ? Bruno Delb, auteur du 1er livre francophone de développement d’application Java sur mobile (2002), développeur d’applications mobiles & sociales, parlez-moi de vos projets. Et bien sûr sur mon site Web : http://blog.brunodelb.com