10
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 Site officiel Leçon : Le capteur gyroscope

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

Embed Size (px)

Citation preview

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

Développer sur AndroidAndroid Lab Test

www.AndroidLabTest.com

Face

bo

ok

Par Bruno Delb

www.youtube.com/androidlabtest

www.twitter.com/brunodelb | www.facebook.com/brunodelb | blog.brunodelb.com

www.facebook.com/Androidlabtest

You

tub

e

Site

off

icie

l

Leçon : Le capteur gyroscope

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

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.

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

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);

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

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]

}

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

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();

}

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

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>

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

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");

}

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

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();

}

}

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

Testez sur votre mobile

Sensor_Gyroscope

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

Retrouvez-moi sur ma chaîne AndroidLabTest …

Sur ma chaîne Youtubehttps://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