Les capteurs. Jean-Ferdinand SUSINI Maître de conférences au CNAM Sources: wikipedia, developer.android.com
|
|
|
- Jean-Marie Pierre
- il y a 10 ans
- Total affichages :
Transcription
1 Les capteurs Jean-Ferdinand SUSINI Maître de conférences au CNAM Sources: wikipedia, developer.android.com Paris, 30/05/2015
2 Connaître le contexte d utilisation 2 Une application mobile s exécute dans un contexte particulier contrairement à une application Desktop, l utilisateur n est pas confortablement installé devant son écran souris en main pour une longue période. Il faut tenir compte du contexte d utilisation Oui mais, quel est-il? l attention de l utilisateur non totalement acquise pour une courte période (déplacement, interruption ) interaction difficile (en parallèle avec une autre activité), feedback insuffisant, espace de saisi trop petit, masquage de écran pendant la saisie
3 Connaître le contexte d utilisation 2 Une application mobile s exécute dans un contexte particulier contrairement à une application Desktop, l utilisateur n est pas confortablement installé devant son écran souris en main pour une longue période. Il faut tenir compte du contexte d utilisation Lorsque l on développe une application Desktop, on se pose rarement la question, que fait l utilisateur, dans quel contexte utilise-t-il son application, peut-il arrêter son travail à tout moment Bien sur ces questions on un sens mais leur importance est bien moindre que le d autres Oui mais, quel est-il? questions concernant l interface homme-machine et les fonctionnalités de l application. Par défaut on imagine l attention l utilisateur confortablement de l utilisateur devant l écran, non le clavier totalement et la souris de son acquise ordinateur, totalement absorbé par l utilisation de ce dernier généralement concentré sur l utilisation de notre application. pour Dans une le cas courte d un développement période mobile, (déplacement, modèle comportemental de l utilisateur ne marche plus du tout et cela nécessite une conception très différente de l application. interruption ) interaction difficile (en parallèle avec une autre activité), feedback insuffisant, espace de saisi trop petit, masquage de écran pendant la saisie
4 Connaître le contexte d utilisation Il faut donc concevoir l application mobile en tenant compte du contexte de son utilisation. Nous avons Une vu que application les composants Android mobile répondaient s exécute en partie à cette dans problématique un contexte : la notion d activité capture le côté éphémère d une interaction avec l utilisateur. et intègre des dimension spécifique particulier au système mobile. contrairement Mais cela ne suffit à pas. une Il faut application avoir une idée du contexte Desktop, d utilisation afin de s adapter au mieux aux besoins de l utilisateur. Or ces besoins varient dans le temps et le modèle l utilisateur comportemental d un n est utilisateur pas ne confortablement peut plus se résumer à un utilisateur installé bien calé devant sa machine. son écran souris en main pour une longue période. 2 Il faut tenir compte du contexte d utilisation Oui mais, quel est-il? l attention de l utilisateur non totalement acquise pour une courte période (déplacement, interruption ) interaction difficile (en parallèle avec une autre activité), feedback insuffisant, espace de saisi trop petit, masquage de écran pendant la saisie
5 Connaître le contexte d utilisation 2 Une application mobile s exécute dans un contexte particulier contrairement à une application Desktop, l utilisateur n est pas confortablement installé devant son écran souris en main pour une longue période. Il faut tenir compte du contexte d utilisation Oui mais, quel est-il? l attention de l utilisateur non totalement acquise pour une courte période (déplacement, Il est important de bien appréhender les difficultés auxquelles est confronté l utilisateur. Son interaction est rendu difficile voir, pénible. interruption ) interaction difficile (en parallèle avec une autre activité), feedback insuffisant, espace de saisi trop petit, masquage de écran pendant la saisie
6 Connaître le contexte d utilisation 2 Une application mobile s exécute dans un contexte particulier contrairement à une application Desktop, l utilisateur n est pas confortablement installé devant son écran souris en main pour une longue période. Il faut tenir compte du contexte d utilisation Oui mais, quel est-il? l attention de l utilisateur non totalement acquise pour une courte période (déplacement, interruption ) interaction difficile (en parallèle avec une autre activité), feedback insuffisant, espace de saisi trop petit, masquage de écran pendant la saisie
7 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran.
8 Mesurer pour connaître L idée principale pour aider l utilisateur : «Mesurer» (une grandeur Exemple physique) : un «pour capteur connaître» de (l environnement proximité de l utilisateur). pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran. 3
9 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran.
10 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran.
11 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran.
12 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran.
13 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran. Utilisation? Désactiver l écran tactile pendant une conversation téléphonique afin d éviter des interactions non désirées.
14 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. C est une première application (celle qui justifie à elle seule l introduction du capteur). Peut-on imaginer d autres utilisations possibles (on parle alors de détournement du capteur de sa vocation initiale. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran. Utilisation? Désactiver l écran tactile pendant une conversation téléphonique afin d éviter des interactions non désirées.
15 Mesurer pour connaître 3 Exemple : un capteur de proximité pour désactiver l interaction tactile. Pourquoi? Si l utilisateur est proche de l écran, il ne veut pas interagir avec mais il s approche du micro et du haut-parleur. Comment? Mesure locale de l intensité lumineuse infrarouge renvoyée par une surface à proximité de l écran. Utilisation? Désactiver l écran tactile pendant une conversation téléphonique afin d éviter des interactions non désirées.
16 Mesurer pour connaître 4 Autre exemple : un accéléromètre pour connaître l orientation du téléphone. Pourquoi? Si l utilisateur bascule sont téléphone du mode portrait au mode paysage, c est qu il souhaite profiter d une surface d affichage plus large. Comment? Mesure le l accélération par mesure de capacité entre deux pièces mécaniques microscopiques.
17 Mesurer pour connaître 4 Autre exemple : un accéléromètre pour connaître l orientation du téléphone. Pourquoi? Si l utilisateur bascule sont téléphone du mode portrait au mode paysage, c est qu il souhaite profiter d une surface d affichage plus large. Comment? Mesure le l accélération par mesure de capacité entre deux pièces mécaniques microscopiques.
18 Mesurer pour connaître 4 Autre exemple : un accéléromètre pour connaître l orientation du téléphone. Pourquoi? Si l utilisateur bascule sont téléphone du mode portrait au mode paysage, c est qu il souhaite profiter d une surface d affichage plus large. Comment? Mesure le l accélération par mesure de capacité entre deux pièces mécaniques microscopiques.
19 Mesurer pour connaître 4 Autre exemple : un accéléromètre pour connaître l orientation du téléphone. Pourquoi? Si l utilisateur bascule sont téléphone du mode portrait au mode paysage, c est qu il souhaite profiter d une surface d affichage plus large. Comment? Mesure le l accélération par mesure de capacité entre deux pièces mécaniques microscopiques.
20 Mesurer pour connaître 4 Autre exemple : un accéléromètre pour connaître l orientation du téléphone. Pourquoi? Si l utilisateur bascule sont téléphone du mode portrait au mode paysage, c est qu il souhaite profiter De nombreuses d une utilisations surface de mécanisme d affichage «très mécanique» plus on été large. popularisées par la Console de jeu vidéo Wii et donc de nombreux détournements ont déjà été proposés (système de guidage, podomètre, gestuelle d annulation ou de mélange ). Le caractère mécanique et ludique facilite son acceptation. Comment? Mesure le l accélération par mesure de capacité entre deux pièces mécaniques microscopiques. Utilisation? Bascule automatiquement le système de coordonnées graphiques pour changer l orientation de l affichage.
21 Mesurer pour connaître 4 Autre exemple : un accéléromètre pour connaître l orientation du téléphone. Pourquoi? Si l utilisateur bascule sont téléphone du mode portrait au mode paysage, c est qu il souhaite profiter d une surface d affichage plus large. Comment? Mesure le l accélération par mesure de capacité entre deux pièces mécaniques microscopiques. Utilisation? Bascule automatiquement le système de coordonnées graphiques pour changer l orientation de l affichage.
22 L accès aux capteurs 5 Android regroupe la gestion de ses différents capteurs dans un gestionnaire système spécifique : le SensorManager. On accède à ce service système grâce à un appel système sur le Context d exécution désormais classique : (SensorManager)this.getSystemService(SENSOR_SERVICE) L objet android.hardware.sensormanager nous permet de rapidement avoir un aperçu des capteurs à notre disposition : List<Sensor> ls = sm.getsensorlist(sensor.type_all);
23 L accès aux capteurs Android regroupe la gestion de ses différents capteurs dans un gestionnaire système spécifique : le SensorManager. En général le terme capteur recouvre tous les dispositifs électroniques permettant de réaliser une mesure physique. Par la suite dans le cours on étendra ce terme à d autres dispositifs souvent plus complexes mais qui ne mesure pas à proprement parler une grandeur physique mais acquiert des données sur l environnement (par exemple l appareil photo ne réalise pas de mesure à proprement parlé mais il s agit bien d un capteur récupérant des informations sur l environnement de On accède à ce l utilisateur). service Cependant système pour le moment grâce le terme à un capteur appel (sensor système en anglais) désignera bien des dispositifs de mesure sur le Context d exécution désormais classique : 5 (SensorManager)this.getSystemService(SENSOR_SERVICE) L objet android.hardware.sensormanager nous permet de rapidement avoir un aperçu des capteurs à notre disposition : List<Sensor> ls = sm.getsensorlist(sensor.type_all);
24 L accès aux capteurs 5 Android regroupe la gestion de ses différents capteurs dans un gestionnaire système spécifique : le SensorManager. On accède Comme à ce nous service l avons vu pour système d autres services grâce du système à un appel système sur le Context composant d exécution particulier du système désormais : le SenssorManager. classique Ce : (SensorManager)this.getSystemService(SENSOR_SERVICE) L objet android.hardware.sensormanager l objet Service SensorManager. Cette interface nous permettra nous permet de rapidement avoir un aperçu des capteurs à notre disposition : Android, la gestion des capteurs est prise en charge par un SensorManager regroupe plusieurs sous-programmes de gestion qui s exécutent dans des processus spécifiques (démons). Dans le processus de notre application, nous allons récupérer une interface vers ces sous programmes à travers de dialoguer avec les sous programmes extérieurs. List<Sensor> ls = sm.getsensorlist(sensor.type_all);
25 L accès aux capteurs 5 Android regroupe la gestion de ses différents capteurs dans un gestionnaire système spécifique : le SensorManager. On accède à ce service système grâce à un appel système sur le Context d exécution désormais classique : Remarquons que la méthode getsensorlist() retourne une collection (une liste Java) d objet de type Sensor. Pour plus d information sur la notion de collection en Java et les types paramétriques je vous conseille l UE NFA035. Mais à notre niveau une connaissance approfondie des listes n est pas nécessaire, il faut juste retenir la syntaxe particulière des types paramétriques et le fait que ces objets dispose d une API particulière pour que l on puisse les parcourir. (SensorManager)this.getSystemService(SENSOR_SERVICE) L objet android.hardware.sensormanager nous permet de rapidement avoir un aperçu des capteurs à notre disposition : List<Sensor> ls = sm.getsensorlist(sensor.type_all);
26 L accès aux capteurs 5 Android regroupe la gestion de ses différents capteurs dans un gestionnaire système spécifique : le SensorManager. On accède à ce service système grâce à un appel système sur le Context d exécution désormais classique : (SensorManager)this.getSystemService(SENSOR_SERVICE) L objet android.hardware.sensormanager nous permet de rapidement avoir un aperçu des capteurs à notre disposition : List<Sensor> ls = sm.getsensorlist(sensor.type_all);
27 J.-F. Susini 30/05/2015 Exemple 6 public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); this.setcontentview(r.layout.main); SensorManager sm = (SensorManager)this.getSystemService(SENSOR_SERVICE); List<Sensor> ls = sm.getsensorlist(sensor.type_all); for(int i = 0 ; i < ls.size(); i++){ Log.i(APP_TAG,ls.get(i).getName()); } }
28 J.-F. Susini 30/05/2015 Exemple Dans le logcat d une activité, on va lister l ensemble des capteurs disponibles sur le terminal par leur nom. public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); this.setcontentview(r.layout.main); SensorManager sm = (SensorManager)this.getSystemService(SENSOR_SERVICE); List<Sensor> ls = sm.getsensorlist(sensor.type_all); for(int i = 0 ; i < ls.size(); i++){ Log.i(APP_TAG,ls.get(i).getName()); } } 6
29 J.-F. Susini 30/05/2015 Exemple 6 public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); this.setcontentview(r.layout.main); SensorManager sm = (SensorManager)this.getSystemService(SENSOR_SERVICE); List<Sensor> ls = sm.getsensorlist(sensor.type_all); for(int i = 0 ; i < ls.size(); i++){ Log.i(APP_TAG,ls.get(i).getName()); } }
30 J.-F. Susini 30/05/2015 Exemple 6 public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); this.setcontentview(r.layout.main); SensorManager sm = (SensorManager)this.getSystemService(SENSOR_SERVICE); List<Sensor> ls = sm.getsensorlist(sensor.type_all); for(int i = 0 ; i < ls.size(); i++){ Log.i(APP_TAG,ls.get(i).getName()); } }
31 J.-F. Susini 30/05/2015 Les types de capteurs 7 TYPE_ACCELEROMETER A constant describing an accelerometer sensor type. TYPE_AMBIENT_TEMPERATURE A constant describing an ambient temperature sensor type. TYPE_GAME_ROTATION_VECTOR A constant describing an uncalibrated rotation vector sensor type. TYPE_GEOMAGNETIC_ROTATION_VECTOR A constant describing the geo-magnetic rotation vector. TYPE_GRAVITY A constant describing a gravity sensor type. TYPE_GYROSCOPE A constant describing a gyroscope sensor type. TYPE_GYROSCOPE_UNCALIBRATEDA constant describing an uncalibrated gyroscope sensor type. TYPE_LIGHT A constant describing a light sensor type. TYPE_LINEAR_ACCELERATION A constant describing a linear acceleration sensor type. TYPE_MAGNETIC_FIELD A constant describing a magnetic field sensor type. TYPE_MAGNETIC_FIELD_UNCALIBRATED A constant describing an uncalibrated magnetic field sensor type. TYPE_PRESSURE A constant describing a pressure sensor type. TYPE_PROXIMITYA constant describing a proximity sensor type. TYPE_RELATIVE_HUMIDITY A constant describing a relative humidity sensor type. TYPE_ROTATION_VECTOR A constant describing a rotation vector sensor type. TYPE_SIGNIFICANT_MOTION A constant describing a significant motion trigger sensor. TYPE_STEP_COUNTER A constant describing a step counter sensor. TYPE_STEP_DETECTOR A constant describing a step detector sensor.
32 J.-F. Susini 30/05/2015 Les types de capteurs Certains capteurs (appelés capteurs virtuels) ne mesure pas directement une grandeur physique, mais produisent une valeur filtrée ou agrégée à partir de un ou plusieurs autres capteurs physiques. Ainsi certains terminaux répondront positivement sur la disponibilité de certains sensors alors qu il ne possède pas le dispositif matériel correspondant. 7 TYPE_ACCELEROMETER A constant describing an accelerometer sensor type. TYPE_AMBIENT_TEMPERATURE A constant describing an ambient temperature sensor type. TYPE_GAME_ROTATION_VECTOR A constant describing an uncalibrated rotation vector sensor type. TYPE_GEOMAGNETIC_ROTATION_VECTOR A constant describing the geo-magnetic rotation vector. TYPE_GRAVITY A constant describing a gravity sensor type. TYPE_GYROSCOPE A constant describing a gyroscope sensor type. TYPE_GYROSCOPE_UNCALIBRATEDA constant describing an uncalibrated gyroscope sensor type. TYPE_LIGHT A constant describing a light sensor type. TYPE_LINEAR_ACCELERATION A constant describing a linear acceleration sensor type. TYPE_MAGNETIC_FIELD A constant describing a magnetic field sensor type. TYPE_MAGNETIC_FIELD_UNCALIBRATED A constant describing an uncalibrated magnetic field sensor type. TYPE_PRESSURE A constant describing a pressure sensor type. TYPE_PROXIMITYA constant describing a proximity sensor type. TYPE_RELATIVE_HUMIDITY A constant describing a relative humidity sensor type. TYPE_ROTATION_VECTOR A constant describing a rotation vector sensor type. TYPE_SIGNIFICANT_MOTION A constant describing a significant motion trigger sensor. TYPE_STEP_COUNTER A constant describing a step counter sensor. TYPE_STEP_DETECTOR A constant describing a step detector sensor.
33 J.-F. Susini 30/05/2015 Les types de capteurs 7 TYPE_ACCELEROMETER A constant describing an accelerometer sensor type. TYPE_AMBIENT_TEMPERATURE A constant describing an ambient temperature sensor type. TYPE_GAME_ROTATION_VECTOR A constant describing an uncalibrated rotation vector sensor type. TYPE_GEOMAGNETIC_ROTATION_VECTOR A constant describing the geo-magnetic rotation vector. TYPE_GRAVITY A constant describing a gravity sensor type. TYPE_GYROSCOPE A constant describing a gyroscope sensor type. TYPE_GYROSCOPE_UNCALIBRATEDA constant describing an uncalibrated gyroscope sensor type. TYPE_LIGHT A constant describing a light sensor type. TYPE_LINEAR_ACCELERATION A constant describing a linear acceleration sensor type. TYPE_MAGNETIC_FIELD A constant describing a magnetic field sensor type. TYPE_MAGNETIC_FIELD_UNCALIBRATED A constant describing an uncalibrated magnetic field sensor type. TYPE_PRESSURE A constant describing a pressure sensor type. TYPE_PROXIMITYA constant describing a proximity sensor type. TYPE_RELATIVE_HUMIDITY A constant describing a relative humidity sensor type. TYPE_ROTATION_VECTOR A constant describing a rotation vector sensor type. TYPE_SIGNIFICANT_MOTION A constant describing a significant motion trigger sensor. TYPE_STEP_COUNTER A constant describing a step counter sensor. TYPE_STEP_DETECTOR A constant describing a step detector sensor.
34 Recommander l utilisation d un capteur 8 Une application peut nécessiter l utilisation d un capteur précis, elle peut alors déclarer cela dans le fichier AndroidManfest.xml : <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" /> Pour manipuler un capteur, il faut récupérer une référence sur celui-ci : Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); Le capteur ainsi obtenu peut être un capteur composite (capteur virtuel simulé à l aide d autres capteurs), ou dont les mesures sont pré-filtrées.
35 Recommander l utilisation d un capteur 8 Une application peut nécessiter l utilisation d un capteur précis, elle peut alors déclarer cela dans le fichier AndroidManfest.xml : <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" /> Pour manipuler un capteur, il faut récupérer une référence sur celui-ci : L application ne sera installable que sur des terminaux possédant le capteur adéquate. Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); Le capteur ainsi obtenu peut être un capteur composite (capteur virtuel simulé à l aide d autres capteurs), ou dont les mesures sont pré-filtrées.
36 Recommander l utilisation d un capteur 8 Une application peut nécessiter l utilisation d un capteur précis, elle peut alors déclarer cela dans le fichier AndroidManfest.xml : <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" /> Pour manipuler représentants un les différents capteur, capteurs. il Plusieurs faut récupérer méthodes permettent une de référence sur celui-ci : Les SensorManager permet de récupérer des objets systèmes réaliser cette opération. Mais la plus fréquente et celle que nous retiendront dans cette UE est la méthode getdefaultsensor(). Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); Le capteur ainsi obtenu peut être un capteur composite (capteur virtuel simulé à l aide d autres capteurs), ou dont les mesures sont pré-filtrées.
37 Recommander l utilisation d un capteur 8 Une application peut nécessiter l utilisation d un capteur précis, elle peut alors déclarer cela dans le fichier AndroidManfest.xml : <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" /> Pour manipuler un capteur, il faut récupérer une référence sur celui-ci : Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); Le capteur ainsi obtenu peut être un capteur composite (capteur virtuel simulé à l aide d autres capteurs), ou dont les mesures sont pré-filtrées.
38 Ecouter les informations d un capteur 9 Construire un «écouteur» (Listener) attaché à un capteur Implante l interface SensorEventListener et ses 2 méthodes : public void onaccuracychanged(sensor s, int acc) et public void onsensorchanged(sensorevent evt) L objet de type SensorEvent contient les valeurs mesurées par le capteur dans un tableau de valeurs flottantes (evt.values) dont la signification varie en fonction du capteur utilisé. Les autres champs sont : le capteur générant l événement (sensor) la date de génération de l evt (timestamp) la précision de la mesure du capteur (accuracy)
39 Ecouter les informations d un capteur 9 Construire un «écouteur» (Listener) attaché à un capteur Implante l interface SensorEventListener et ses 2 méthodes : public Comme void c est souvent onaccuracychanged(sensor le cas dans le modèle de programmation Android, s, les int acc) et objets de type Sensor sont des objets créés et gérés directement par le sytème Android, qui servent d interface vers les processus gérant les capteurs. On n intervient donc pas directement dessus mais on utilise un public void onsensorchanged(sensorevent evt) listener que l on enregistre auprès du capteur. les callbacks (méthodes de l interface du listener à implanter par le programmeur) sont appelées par le L objet système de Android type (jamais SensorEvent par le programmeur lui contient même). Le fil les valeurs d exécution sera le UIThread de l application. mesurées par le capteur dans un tableau de valeurs flottantes (evt.values) dont la signification varie en fonction du capteur utilisé. Les autres champs sont : le capteur générant l événement (sensor) la date de génération de l evt (timestamp) la précision de la mesure du capteur (accuracy)
40 Ecouter les informations d un capteur 9 Construire un «écouteur» (Listener) attaché à un capteur Implante l interface SensorEventListener et ses 2 méthodes : public void onaccuracychanged(sensor s, int acc) et public 2 void méthodes onsensorchanged(sensorevent sont à implanter pour être conforme à l interface evt) SensorEventListener : La première onaccuracychanged() est appelée par le système Android lorsque pour une raison ou une autre la précision de la mesure L objet évolue de type (mesure SensorEvent dans une plage de valeur plus contient ou moins précise, les valeurs perte d information ). Cette méthode bien qu importante ne nous intéressera pas trop dans le cadre de cette UE. Il vous faut simplement retenir que son implantation est obligatoire même si généralement la méthode ne fera rien (au mieux on pourra écrire dans le logcat android). mesurées par le capteur dans un tableau de valeurs flottantes (evt.values) dont la signification varie en fonction du capteur utilisé. Les autres champs sont : le capteur générant l événement (sensor) la date de génération de l evt (timestamp) la précision de la mesure du capteur (accuracy)
41 Ecouter les informations d un capteur 9 Construire un «écouteur» (Listener) attaché à un capteur Implante l interface SensorEventListener et ses 2 méthodes : public void onaccuracychanged(sensor s, int acc) et public void onsensorchanged(sensorevent evt) L objet de L autre type méthode SensorEvent (la plus importante dans contient le cadre de cette les UE) valeurs est la méthode onsensorchanged() qui est appelée par le UIThread, chaque fois qu une nouvelle mesure est disponible. C est donc dans cette méthode que l on pourra traiter (ou relayer pour éviter de monopoliser le UIThread) les valeurs de mesure. mesurées par le capteur dans un tableau de valeurs flottantes (evt.values) dont la signification varie en fonction du capteur utilisé. Les autres champs sont : le capteur générant l événement (sensor) la date de génération de l evt (timestamp) la précision de la mesure du capteur (accuracy)
42 Ecouter les informations d un capteur Construire un «écouteur» (Listener) attaché à un capteur Implante - L axe des l interface x correspond généralement SensorEventListener à l axe «horizontal» pour un téléphone et ses 2 méthodes : public void onaccuracychanged(sensor s, int acc) et Le tableau de float contient généralement les projection de la mesure de la grandeur physique dans les 3 directions d un repère cartésien orthonormé lié au téléphone. Les dimension x, y et z. tenu verticalement en mode portrait, il dans le plan de l écran. Sa direction positive est vers la droite quand l écran est face à nous. - L axe des y correspond à l axe vertical, dans le plan de l écran. Sa direction positive est vers le haut. - L axe des z est perpendiculaire à l écran et sa direction positive est vers nous lorsque l écran nous fait face. public void onsensorchanged(sensorevent evt) Le valeurs sont exprimé dans les unités du système standard international : par exemple une accélération est exprimée en mètre par seconde au carré [m.s -2 ] L objet de type SensorEvent contient les valeurs mesurées par le capteur dans un tableau de valeurs flottantes (evt.values) dont la signification varie en fonction du capteur utilisé. Les autres champs sont : le capteur générant l événement (sensor) la date de génération de l evt (timestamp) la précision de la mesure du capteur (accuracy) 9
43 Ecouter les informations d un capteur 9 Construire un «écouteur» (Listener) attaché à un capteur Implante l interface SensorEventListener et ses 2 méthodes : public void onaccuracychanged(sensor s, int acc) et public void onsensorchanged(sensorevent evt) L objet de type SensorEvent contient les valeurs mesurées par le capteur dans un tableau de valeurs flottantes (evt.values) dont la signification varie en fonction du capteur utilisé. Les autres champs sont : le capteur générant l événement (sensor) la date de génération de l evt (timestamp) la précision de la mesure du capteur (accuracy)
44 Enregistrement de l écouteur 10 On associe un Listener à un capteur grace au SensorManager : sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL); Les valeurs de délais possibles sont : SENSOR_DELAY_NORMAL SENSOR_DELAY_UI SENSOR_DELAY_GAME SENSOR_DELAY_FASTEST ou bien une durée spécifiée en ms.
45 J.-F. Susini 30/05/2015 Exemple 11 SensorEventListener accellistener = new SensorEventListener(){ public void onsensorchanged(sensorevent evt){ Log.i(APP_TAG, "gx = "+evt.values[0]+" m/s2" + " gy = "+evt.values[1]+" m/s2" + " gz = "+evt.values[2]+" m/s2" ); } public void onaccuracychanged(sensor s, int acc){} }; Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL);
46 J.-F. Susini 30/05/2015 Exemple Notre exemple va mettre en œuvre l accéléromètre. On implante d abord la classe SensorEventListener qui affichera les valeurs 11 SensorEventListener accellistener = new SensorEventListener(){ public void onsensorchanged(sensorevent evt){ Log.i(APP_TAG, "gx = "+evt.values[0]+" m/s2" + " gy = "+evt.values[1]+" m/s2" + " gz = "+evt.values[2]+" m/s2" ); } public void onaccuracychanged(sensor s, int acc){} }; Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL);
47 J.-F. Susini 30/05/2015 Exemple On implante la méthode onsensorchanged(). L accélération étant une grandeur physique que l on peut mesurer dans les 3 directions principales d un repère orthonormé placé sur le téléphone. Les 3 trois première valeurs du tableau values auront donc un sens et la mesure SensorEventListener sera exprimée mètre par seconde au carré. accellistener = new SensorEventListener(){ public void onsensorchanged(sensorevent evt){ Log.i(APP_TAG, "gx = "+evt.values[0]+" m/s2" + " gy = "+evt.values[1]+" m/s2" + " gz = "+evt.values[2]+" m/s2" ); } public void onaccuracychanged(sensor s, int acc){} }; Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL); 11
48 J.-F. Susini 30/05/2015 Exemple 11 SensorEventListener accellistener = new SensorEventListener(){ public void onsensorchanged(sensorevent evt){ Log.i(APP_TAG, "gx = "+evt.values[0]+" m/s2" + " gy = "+evt.values[1]+" m/s2" + " gz = "+evt.values[2]+" m/s2" On implante ); une méthode qui ne fait rien pour onaccuracychanged(). } public void onaccuracychanged(sensor s, int acc){} }; Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL);
49 J.-F. Susini 30/05/2015 Exemple 11 SensorEventListener accellistener = new SensorEventListener(){ public void onsensorchanged(sensorevent evt){ Log.i(APP_TAG, "gx = "+evt.values[0]+" m/s2" + " gy = "+evt.values[1]+" m/s2" + " gz = "+evt.values[2]+" m/s2" ); On récupère une référence sur le capteur accéléromètre, en interrogeant le sensor manager grâce à la méthode getdefaultsensor() avec le } public void onaccuracychanged(sensor type prévu (Sensor.TYPE_ACCELEROMETER) s, int acc){} }; Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL);
50 J.-F. Susini 30/05/2015 Exemple 11 SensorEventListener accellistener = new SensorEventListener(){ public void onsensorchanged(sensorevent evt){ Log.i(APP_TAG, "gx = "+evt.values[0]+" m/s2" + " gy = "+evt.values[1]+" m/s2" Enfin + on " enregistre gz = le listener, "+evt.values[2]+" mais contrairement au modèle m/s2" habituel, l enregistrement ); ne se fait pas directement sur l objet de type Sensor, mais sur le sensor manager en passant en paramètre également l objet du capteur ciblé. } Le dernier paramètre est un délai de rafraîchissement, qui donne le rythme public void auquel la onaccuracychanged(sensor méthode onsensorchanged() sera rappelé par le UIThread. s, int acc){} Attention, ce délai n est pas une contrainte temps réel mais une borne inférieur }; c est à dire que si on spécifiait une durée en milli-secondes, cette durée serait Sensor accelerometre la durée minimal entre = deux sm.getdefaultsensor( appels de onsensorchanged(). Sensor.TYPE_ACCELETOMETER); sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL);
51 J.-F. Susini 30/05/2015 Exemple 11 SensorEventListener accellistener = new SensorEventListener(){ public void onsensorchanged(sensorevent evt){ Log.i(APP_TAG, "gx = "+evt.values[0]+" m/s2" + " gy = "+evt.values[1]+" m/s2" + " gz = "+evt.values[2]+" m/s2" ); } public void onaccuracychanged(sensor s, int acc){} }; Sensor accelerometre = sm.getdefaultsensor( Sensor.TYPE_ACCELETOMETER); sm.registerlistener(accellistener, accelerometre, SensorManager.SENSOR_DELAY_NORMAL);
52 J.-F. Susini 31/05/2015 Les prises de vue 12 Le smartphone actuel possèdent tous au moins un dispositif de prise de vue, voir 2. Nous avons vu comment utiliser l APN à travers des intents, nous allons maintenant voir comment le contrôler directement dans notre code. Le contrôle d un dispositif de prise de vue nécessite une autorisation de la part de l utilisateur. Une activité doit donc déclarer cette permission dans son fichier AndroidManifest.xml : <uses-permission android:name="android.permission.camera" />
53 Besoins spécifiques 13 Une application peut nécessité des spécificités sur le périphérique de prise de vue comme par exemple l autofocus (par exemple pour le décodage de codebarres). Pour cela on déclare la fonctionnalité dans le fichier AndroidManifest.xml : <uses-feature android:name="android.hardware.camera" /> et <uses-feature android:name="android.hardware.camera.autofocus"/>
54 Les prises de vue 14 L objet android.hardware.camera permet de manipuler un dispositif de prise de vue du téléphone. Il existe un objet Camera pour chaque dispositif de prise de vue présent sur l appareil. Cet objet permet d activer l appareil et de gérer les paramètres et enregistrer les objets de contrôles (listeners). L objet Camera.CameraInfo permet de récupérer des informations sur le dispositif de prise de vue et en particulier l orientation du dispositif (par pas de 90 ) ainsi qu une information sur la disposition de l APN : en façade ou dans le dos du téléphone. On récupère cet objet grâce à la méthode getcamerainfo() de la classe Camera.
55 J.-F. Susini 31/05/2015 À partir de la version 5 d Android (API 21) cette API devient obsolète et il faudra utiliser le framework android.hardware.camera2. Les prises Cependant de ce vue nouveau framework n est disponible que depuis la version 5 dont le taux de pénétration est encore assez confidentiel au début de ce cours. Donc nous continueront cette année à manipuler l ancien framework. L objet android.hardware.camera permet de manipuler un dispositif de prise de vue du téléphone. Il existe un objet Camera pour chaque dispositif de prise de vue présent sur l appareil. Cet objet permet d activer l appareil et de gérer les paramètres et enregistrer les objets de contrôles (listeners). 14 L objet Camera.CameraInfo permet de récupérer des informations sur le dispositif de prise de vue et en particulier l orientation du dispositif (par pas de 90 ) ainsi qu une information sur la disposition de l APN : en façade ou dans le dos du téléphone. On récupère cet objet grâce à la méthode getcamerainfo() de la classe Camera.
56 Les prises de vue 14 L objet android.hardware.camera permet de manipuler un dispositif de prise de vue du téléphone. Il existe un objet Camera pour chaque dispositif de prise de vue présent sur l appareil. Cet objet permet d activer Les objets caméras sont créés et fournis par le système. On les l appareil récupères grâce et à de l appel gérer : open() les sur la paramètres classe caméra qui retournera enregistrer les la référence vers l objet système. À partir de l API 9, la méthode open() peut utiliser un argument permettant de préciser quel APN on souhaite utiliser (celui en façade ou celui dans le dos du téléphone). objets de contrôles (listeners). L objet Camera.CameraInfo permet de récupérer des informations sur le dispositif de prise de vue et en particulier l orientation du dispositif (par pas de 90 ) ainsi qu une information sur la disposition de l APN : en façade ou dans le dos du téléphone. On récupère cet objet grâce à la méthode getcamerainfo() de la classe Camera.
57 Les prises de vue 14 L objet android.hardware.camera permet de manipuler un dispositif de prise de vue du téléphone. Il existe un objet Camera pour chaque dispositif de prise de vue En plus de l objet Camera, Android propose 2 autres classes permettant de manipuler des objets utilitaires en synergie avec l objet Camera. Ces objets sont de la classe - Camera.CameraInfo (une classe interne de la classe Camera).Cette classe permet de récupérer des informations sur le dispositifs et les fonctionnalités associées à ce dispositifs de prise de vue. - et Camera.Parameters permettant de gérer les réglages de l APN. présent sur l appareil. Cet objet permet d activer l appareil et de gérer les paramètres et enregistrer les objets de contrôles (listeners). L objet Camera.CameraInfo permet de récupérer des informations sur le dispositif de prise de vue et en particulier l orientation du dispositif (par pas de 90 ) ainsi qu une information sur la disposition de l APN : en façade ou dans le dos du téléphone. On récupère cet objet grâce à la méthode getcamerainfo() de la classe Camera.
58 Les prises de vue 14 L objet android.hardware.camera permet de manipuler un dispositif de prise de vue du téléphone. Il existe un objet Camera pour chaque dispositif de prise de vue présent sur l appareil. Cet objet permet d activer l appareil et de gérer les paramètres et enregistrer les objets de contrôles (listeners). L objet Camera.CameraInfo permet de récupérer des informations sur le dispositif de prise de vue et en particulier l orientation du dispositif (par pas de 90 ) ainsi qu une information ce type sur par la méthode disposition getcamerainfo() de l APN de : en façade ou dans le dos du téléphone. On récupère cet objet grâce à la méthode getcamerainfo() de la classe Camera. L utilisateur ne crée jamais un objet de type Camera.CameraInfo. On récupère un objet de l objet Camera, lui même.
59 Les prises de vue 14 L objet android.hardware.camera permet de manipuler un dispositif de prise de vue du téléphone. Il existe un objet Camera pour chaque dispositif de prise de vue présent sur l appareil. Cet objet permet d activer l appareil et de gérer les paramètres et enregistrer les objets de contrôles (listeners). L objet Camera.CameraInfo permet de récupérer des informations sur le dispositif de prise de vue et en particulier l orientation du dispositif (par pas de 90 ) ainsi qu une information sur la disposition de l APN : en façade ou dans le dos du téléphone. On récupère cet objet grâce à la méthode getcamerainfo() de la classe Camera.
60 Les prises de vue 15 La classe Camera.Parameters est obtenue grâce à la méthode getparameters() de l objet Camera. Elle permet les différents réglages : réglages photo (setcoloreffect(), setwhitebalance(), setscenemode(), setexposurecompensation() ) contrôle accessoires (setfocusmode(), setflashmode() ) réglages infos (setgpsaltitude(), setgpslatitude() ) contrôle du format d image (setjpegquality(), setjpegthumbnailquality(), setpreviewformat() )
61 Les prises de vue 15 La classe Camera.Parameters est obtenue grâce à la méthode getparameters() de l objet Camera. Elle Comme pour l objet Camera.CameraInfo, il existe un autre objet permettant d agir sur les réglages de l appareil photo. Il s agit d un objet de type Camera.Parameters. Cette classe est une classe interne de la classe Camera et ce n est pas le développeur de l application qui instancie directement cet objet. Le développeur récupère une instance de cet objet grâce à la méthode getparameters() de l objet Camera. permet les différents réglages : réglages photo (setcoloreffect(), setwhitebalance(), setscenemode(), setexposurecompensation() ) contrôle accessoires (setfocusmode(), setflashmode() ) réglages infos (setgpsaltitude(), setgpslatitude() ) contrôle du format d image (setjpegquality(), setjpegthumbnailquality(), setpreviewformat() )
62 Les prises de vue 15 La classe Camera.Parameters est obtenue grâce à la méthode getparameters() de l objet Camera. Elle permet les différents réglages : réglages photo (setcoloreffect(), setwhitebalance(), setscenemode(), setexposurecompensation() ) contrôle accessoires (setfocusmode(), setflashmode() ) réglages infos (setgpsaltitude(), setgpslatitude() ) contrôle du format d image (setjpegquality(), setjpegthumbnailquality(), setpreviewformat() ) Grâce à l objet de la classe Camera.Parameters, il devient possible de faire des réglages photo dans nos programmes avant la prise de vue, comme par exemple des réglages de balance des blancs, d obturation, de colorimétrie, d exposition
63 Les prises de vue 15 La classe Camera.Parameters est obtenue grâce à la méthode getparameters() de l objet Camera. Elle permet les différents réglages : réglages photo (setcoloreffect(), setwhitebalance(), setscenemode(), setexposurecompensation() ) contrôle accessoires (setfocusmode(), setflashmode() ) réglages infos (setgpsaltitude(), setgpslatitude() ) contrôle avec capteur: du format le flash, la mise d image au point (setjpegquality(), setjpegthumbnailquality(), setpreviewformat() ) Il espacement possible de gérer des accessoires de l APN, fonctionnant directement en synergie
64 Les prises de vue 15 La classe Camera.Parameters est obtenue grâce à la méthode getparameters() de l objet Camera. Elle permet les différents réglages : réglages photo (setcoloreffect(), setwhitebalance(), setscenemode(), setexposurecompensation() ) contrôle accessoires (setfocusmode(), setflashmode() ) réglages infos (setgpsaltitude(), setgpslatitude() ) contrôle du format d image (setjpegquality(), setjpegthumbnailquality(), setpreviewformat() ) Android intègre également directement dans ses API les fonctionnalités de geotagging (géolocalisation) des photos. On peut donc paramétrer le fonctionnement de ce mécanisme.
65 Les prises de vue 15 La classe Camera.Parameters est obtenue grâce à la méthode getparameters() de l objet Camera. Elle permet les différents réglages : réglages photo (setcoloreffect(), setwhitebalance(), setscenemode(), setexposurecompensation() ) contrôle accessoires (setfocusmode(), setflashmode() ) réglages infos (setgpsaltitude(), setgpslatitude() ) contrôle du format d image (setjpegquality(), setjpegthumbnailquality(), setpreviewformat() ) Il est également possible de gérer la qualité et le format de stockage des prises de vues.
66 Les prises de vue 15 La classe Camera.Parameters est obtenue grâce à la méthode getparameters() de l objet Camera. Elle permet les différents réglages : réglages photo (setcoloreffect(), setwhitebalance(), setscenemode(), setexposurecompensation() ) contrôle accessoires (setfocusmode(), setflashmode() ) réglages infos (setgpsaltitude(), setgpslatitude() ) contrôle du format d image (setjpegquality(), setjpegthumbnailquality(), setpreviewformat() )
67 Les prises de vue 16 L acquisition des images et le contrôle des fonctionnalités comme l autofocus, se font par l intermédiaire d objets «callbacks» (équivalent à des «listeners»). Il y a deux modes principaux de prise de vue : preview : qui produit des images de faible qualité, destinées essentiellement à être affichées sur l écran du téléphone (permet une acquisition en rafale) picture : qui produit des images de haute qualité, destinées à être enregistrées sur le périphérique de stockage (c est le mode appareil photo)
68 Les prises de vue 17 Une listener de type preview implante l interface Camera.PreviewCallback et la méthode : public void onpreviewframe(byte[] data, Camera c) Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode getpreviewformat(). La liste des formats supportés est accessible par la méthode getsupportedpreviewformats(). Utilisation standard avec une SurfaceView et implantant l interface SurfaceHolder.Callback ou le MediaRecorder pour les vidéos.
69 Les prises de vue 17 Une listener de type preview implante l interface Camera.PreviewCallback et la méthode : public À l image void d un listener onpreviewframe(byte[] l interface Camera.PreviewCallback est définie data, dans l objet Camera lui c) même mais son nom ne respecte pas les conventions habituelles (puisque généralement les noms finissent par le mot Listener). Comme pour la plupart des listeners, c est au développeur de l application de créer une classe implantant cette interface. Cela va permettre d instancier un objet conforme data. Le à format cette interface de que données l on pourra enregistrer utilisé auprès est de obtenu l objet gérant dans l APN la (l objet de classe Camera). Les données brutes sont reçues dans le tableau d octets classe Camera.Parameters par la méthode getpreviewformat(). La liste des formats supportés est accessible par la méthode getsupportedpreviewformats(). Utilisation standard avec une SurfaceView et implantant l interface SurfaceHolder.Callback ou le MediaRecorder pour les vidéos.
70 Les prises de vue 17 Une listener de type preview implante l interface Camera.PreviewCallback et la méthode : public void onpreviewframe(byte[] data, Camera c) Les La méthode données onpreviewframe() brutes sont est donc reçues la méthode dans qu il faut le implanter tableau pour être d octets conforme à l interface Camera.PreviewFrame. Cette méthode sera appelé ensuite par le système chaque fois qu une nouvelle prise de vue sera disponible. Cette méthode comme pour tous les listeners ne doit pas être appelée par le développeur lui même. Lorsque le système va appeler la méthode data. Le format de données utilisé est obtenu dans la classe onpreviewframe(), Camera.Parameters il va fournir en paramètre par 2 éléments la méthode : - tout d abord, un tableau d octets contenant les données brutes de l image à traiter dans une formats binaires particulier (YUV ou autre selon les réglages et les capacités du driver de l APN). - une référence vers l objet Camera qui gère l APN dont sont issues les données de l image. getpreviewformat(). La liste des formats supportés est accessible par la méthode getsupportedpreviewformats(). Utilisation standard avec une SurfaceView et implantant l interface SurfaceHolder.Callback ou le MediaRecorder pour les vidéos.
71 Les prises de vue 17 Une listener de type preview implante l interface Camera.PreviewCallback et la méthode : public void onpreviewframe(byte[] data, Camera c) Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode Le mode preview est généralement utilisé pour implanter un dispositif de visé à l écran qui permettra à l utilisateur par exemple de cadrer sa prise de vue. Il existe donc dans android une utilisation standard de ce mécanisme en synergie avec un objet graphique android de la classe android.view.surfaceview. qui permettra d ajouter une vue en live de ce que capte l APN. Il suffit alors de rajouter la SurfaceView au layout de l interface de l activité. getpreviewformat(). La liste des formats supportés est accessible par la méthode getsupportedpreviewformats(). Utilisation standard avec une SurfaceView et implantant l interface SurfaceHolder.Callback ou le MediaRecorder pour les vidéos.
72 Les prises de vue 17 Une listener de type preview implante l interface Camera.PreviewCallback et la méthode : public void onpreviewframe(byte[] data, Camera c) Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode getpreviewformat(). La liste des formats supportés est accessible par la méthode getsupportedpreviewformats(). Des outils associés au MediaRecorder existent également pour gérer l enregistrement de vidéos. Utilisation standard avec une SurfaceView et implantant l interface SurfaceHolder.Callback ou le MediaRecorder pour les vidéos.
73 Les prises de vue 17 Une listener de type preview implante l interface Camera.PreviewCallback et la méthode : public void onpreviewframe(byte[] data, Camera c) Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode getpreviewformat(). La liste des formats supportés est accessible par la méthode getsupportedpreviewformats(). Utilisation standard avec une SurfaceView et implantant l interface SurfaceHolder.Callback ou le MediaRecorder pour les vidéos.
74 Les prises de vue 18 Un listener de type picture implante l interface Camera.PictureCallback et la méthode : public void onpicturetaken(byte[] data, Camera c) Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode getpictureformat(). La liste des formats supportés est accessible par la méthode getsupportedpictureformats(). Principe d utilisation (enregistrement des listeners): mode preview : startpreview(), stoppreview(). mode picture : takepicture().
75 Les prises de vue 18 Un listener de type picture implante l interface Camera.PictureCallback et la méthode : public void onpicturetaken(byte[] data, Camera c) Comme pour le mode preview, le mode picture s utilise avec un listener particulier. Comme dans le cas précédent, il faut implanter une méthode particulière : onpicturetaken() dont les arguments passés par le système sont de même nature que dans le cas de onpreviewframe(). Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode getpictureformat(). La liste des formats supportés est accessible par la méthode getsupportedpictureformats(). Principe d utilisation (enregistrement des listeners): mode preview : startpreview(), stoppreview(). mode picture : takepicture().
76 Les prises de vue 18 Un listener de type picture implante l interface Camera.PictureCallback et la méthode : public void onpicturetaken(byte[] data, Camera c) Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode getpictureformat(). La liste des formats supportés est L utilisation des listeners passe par un enregistrement auprès de l objet Camera par les méthodes setpreviewcallback(), setpreviewcallbackwithbuffer(), accessible par la méthode setoneshotpreviewcallback().. Une fois le listener enregistré, la méthode startpreview() permet de démarrer le mode preview. Le mode picture s utilise directement en fournissant directement getsupportedpictureformats(). le listener avec takepicture(). Depuis l API 14, l objet Camera supporte également un mécanisme de détection automatique des visages Principe d utilisation (enregistrement des listeners): mode preview : startpreview(), stoppreview(). mode picture : takepicture().
77 Les prises de vue 18 Un listener de type picture implante l interface Camera.PictureCallback et la méthode : public void onpicturetaken(byte[] data, Camera c) Les données brutes sont reçues dans le tableau d octets data. Le format de données utilisé est obtenu dans la classe Camera.Parameters par la méthode getpictureformat(). La liste des formats supportés est accessible par la méthode getsupportedpictureformats(). Principe d utilisation (enregistrement des listeners): mode preview : startpreview(), stoppreview(). mode picture : takepicture().
78 Contrôle du vibreur 19 L utilisation du vibreur requiert une autorisation de l utilisateur que l on place de le fichier AndroidManifest.xml <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android correspondant : Vibrator v = (Vibrator) this.getsystemservice(context.vibrator_service); et de soumettre la commande : v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
79 Contrôle du vibreur L utilisation du l on vibreur appel un effecteur), requiert le vibreur une contribue autorisation ressenti de l utilisateur que l on place de le fichier AndroidManifest.xml Même s il ne s agit pas d un capteur (mais plutôt de ce que mécanique de l interaction. Nous le décriront con succinctement dans ce cours. 19 <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android correspondant : Vibrator v = (Vibrator) this.getsystemservice(context.vibrator_service); et de soumettre la commande : v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
80 Contrôle du vibreur 19 L utilisation du vibreur requiert une autorisation de l utilisateur que l on place de le fichier AndroidManifest.xml <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android L objet android.os.vibrator est le service système qui gère le vibreur du téléphone, comme tous les services systèmes on récupère une référence sur l objet Java les représentant par l appel système getsystemservice(). correspondant : Vibrator v = (Vibrator) this.getsystemservice(context.vibrator_service); et de soumettre la commande : v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
81 Contrôle du vibreur 19 L utilisation du vibreur requiert une autorisation de l utilisateur que l on place de le fichier AndroidManifest.xml <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android correspondant : Vibrator v = (Vibrator) this.getsystemservice(context.vibrator_service); La méthode vibrate() permet de spécifier en mili secondes la durée de vibration. et de soumettre la commande : v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
82 Contrôle du vibreur 19 L utilisation du vibreur requiert une autorisation de l utilisateur que l on place de le fichier AndroidManifest.xml <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android correspondant : Vibrator v = (Vibrator) this.getsystemservice(context.vibrator_service); Sinon, il est possible de spécifier dans un tableau de long, un schéma répétitif d instants de vibration et d instant de silence. le paramètre idx_loop, permet de répéter le schéma à partir d un certain index du tableau (-1 si pas de répétition). et de soumettre la commande : v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
83 Contrôle du vibreur 19 L utilisation du vibreur requiert une autorisation de l utilisateur que l on place de le fichier AndroidManifest.xml <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android correspondant : Vibrator v = (Vibrator) this.getsystemservice(context.vibrator_service); et de soumettre la commande : La méthode cancel() permet d interrompre l une des deux méthodes vibrate(). v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
84 Contrôle du vibreur 19 L utilisation du vibreur requiert une autorisation de l utilisateur que l on place de le fichier AndroidManifest.xml <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android correspondant : L appel à la méthode vibrate(), est non bloquante (votre Vibrator v = (Vibrator) programme continue alors que la vibration se poursuit), this.getsystemservice(context.vibrator_service); d où l utilité de la méthode cancel() pour éviter de laisser fonctionner le vibreur indéfiniment, et d épuiser prématurément la batterie. et de soumettre la commande : appels non bloquant v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
85 Contrôle du vibreur 19 L utilisation du vibreur requiert une autorisation de l utilisateur que l on place de le fichier AndroidManifest.xml <uses-permission android:name="android.permission.vibrate"/> Ensuite, il suffit de récupérer le service android correspondant : Vibrator v = (Vibrator) this.getsystemservice(context.vibrator_service); et de soumettre la commande : appels non bloquant v.vibrate(ms); v.vibrate(pattern, idx_loop); v.cancel()
86 Localisation 20 Plusieurs méthodes existent : GPS Utilisation du réseau cellulaire Utilisation du réseau WiFi Accéder à la position de l utilisateur nécessite une autorisation : <uses-permission android:name ="android.permission.access_fine_location" /> ou éventuellement : <uses-permission android:name ="android.permission.access_coarse_location" />
87 Localisation Plusieurs méthodes existent : GPS Le dernier capteur auquel nous allons nous intéresser n est pas à proprement parler un capteur mais utilise des sources d information (dispositif physiques ou autres) pour localiser l appareil à la surface de la terre (géolocalisation). Utilisation du réseau cellulaire Utilisation du réseau WiFi 20 Accéder à la position de l utilisateur nécessite une autorisation : <uses-permission android:name ="android.permission.access_fine_location" /> ou éventuellement : <uses-permission android:name ="android.permission.access_coarse_location" />
88 Localisation 20 Plusieurs méthodes existent : GPS Utilisation du réseau cellulaire Utilisation du réseau WiFi La Accéder localisation est établie à la à position partir de nombreuses de l utilisateur sources d information nécessite différentes : une - le GPS est un dispositif matériel qui par triangulation de signaux satellites permet de calculer longitude/ latitude autorisation (et altitude si on : reçoit les signaux d au moins 5 satellites). Il s agit d une source précise (au mètre près) si les trajectoire des signaux sont directes (loin de murs en extérieur). - le réseau cellulaire constitue une autre source d information exploitable pour localiser un téléphone. En <uses-permission effet le réseau cellulaire comme android:name son nom l indique découpe l espace en cellules qui peuvent se superposer. ="android.permission.access_fine_location" Les cellules sont centrées sur des antennes (station de base) qui elles sont fixes. et donc /> localisable, on a alors une information sur la cellule à laquelle le téléphone est connecté. Mais on peut également raffiner cette position par triangulation sur des stations de bases proches définissant plusieurs ou éventuellement : cellules. Cette information donne une localisation assez précise en ville et se substitue souvent très bien au GPS en ville où les murs fausse les résultats de ce dernier. On utilise souvent une technologie sellant <uses-permission les 2 techniques appelée AGPS. android:name - Enfin une autre source d information repose sur des mécanismes de localisation utilisant le WiFi, en ="android.permission.access_coarse_location" /> utilisant des mécanismes de triangulation sur les bradants SSID (le signal envoyé par les bornes WiFi pour déclarer leur réseau) et des cartographies précise relevée par exemple par les véhicules de Google StreetView.
89 Localisation 20 Plusieurs méthodes existent : Deux autorisations particulières peuvent être demandées pour réaliser une localisation du terminal : GPS - COARSE_LOCATION représente une localisation assez grossière (peu précise) et pas très fréquemment mise à jour Utilisation du réseau cellulaire - FINE_LOCATION au contraire permet de récupérer l information la plus précise possible et la plus à jour possible. Utilisation du réseau WiFi Accéder à la position de l utilisateur nécessite une autorisation : <uses-permission android:name ="android.permission.access_fine_location" /> ou éventuellement : <uses-permission android:name ="android.permission.access_coarse_location" />
90 Localisation 20 Plusieurs méthodes existent : GPS Utilisation du réseau cellulaire Utilisation du réseau WiFi Accéder à la position de l utilisateur nécessite une autorisation : <uses-permission android:name ="android.permission.access_fine_location" /> ou éventuellement : <uses-permission android:name ="android.permission.access_coarse_location" />
91 Localisation 21 Géré par un composant du système android, le android.location.locationmanager : LocationManager locm = (LocationManager) this.getsystemservice(location_service); Pour chaque source d information, il existe un fournisseur (LocationProvider) Plusieurs sources => vérifier que les sources sont actives boolean enabled = locm.isproviderenabled( LocationManager.GPS_PROVIDER); Si le provider n est pas disponible lancer les réglages : démarrer l activité avec l action : Settings. ACTION_LOCATION_SOURCE_SETTINGS
92 Localisation 21 Géré par un composant du système android, le android.location.locationmanager : LocationManager Un service Android gère les locm informations = (LocationManager) de localisation obtenues à partir des différentes this.getsystemservice(location_service); sources. On récupère une référence sur le LocationManager à partir du désormais bien connue appel sur le Context Android : getsystemservice(). Pour chaque source d information, il existe un fournisseur (LocationProvider) Plusieurs sources => vérifier que les sources sont actives boolean enabled = locm.isproviderenabled( LocationManager.GPS_PROVIDER); Si le provider n est pas disponible lancer les réglages : démarrer l activité avec l action : Settings. ACTION_LOCATION_SOURCE_SETTINGS
93 Localisation 21 Géré par un composant du système android, le android.location.locationmanager : LocationManager Les objets LocationProvider locm sont = des (LocationManager) objets gérés par le système android, qui this.getsystemservice(location_service); représentent une source d information de localisation (il y a un provider pour le GPS, un pour le WiFi, etc.) Pour chaque source d information, il existe un fournisseur (LocationProvider) Plusieurs sources => vérifier que les sources sont actives boolean enabled = locm.isproviderenabled( LocationManager.GPS_PROVIDER); Si le provider n est pas disponible lancer les réglages : démarrer l activité avec l action : Settings. ACTION_LOCATION_SOURCE_SETTINGS
94 Localisation 21 Géré par un composant du système android, le android.location.locationmanager : LocationManager locm = (LocationManager) this.getsystemservice(location_service); il est alors possible d interroger le LocationManager pour vérifier qu une source d information est bien active par exemple, pour vérifier que le GPS est bien actif Pour chaque source d information, il existe un fournisseur (LocationProvider) Plusieurs sources => vérifier que les sources sont actives boolean enabled = locm.isproviderenabled( LocationManager.GPS_PROVIDER); Si le provider n est pas disponible lancer les réglages : démarrer l activité avec l action : Settings. ACTION_LOCATION_SOURCE_SETTINGS
95 Localisation 21 Géré par un composant du système android, le android.location.locationmanager : LocationManager locm = (LocationManager) this.getsystemservice(location_service); Pour chaque source d information, il existe un fournisseur (LocationProvider) Si une source d information nécessaire (ou fortement recommandée est désactivée), il est possible d en avertir l utilisateur de l application via un dialogue et en cas de confirmation, de lancer le panneau de configuration android (qui est une activité) Plusieurs sources => vérifier que les sources sont actives boolean par enabled un startactivity() = locm.isproviderenabled( avec un intent dont l action est Settings.ACTION_LOCATION_SOURCE_SETTINGS. LocationManager.GPS_PROVIDER); Si le provider n est pas disponible lancer les réglages : démarrer l activité avec l action : Settings. ACTION_LOCATION_SOURCE_SETTINGS
96 Localisation 21 Géré par un composant du système android, le android.location.locationmanager : LocationManager locm = (LocationManager) this.getsystemservice(location_service); Pour chaque source d information, il existe un fournisseur (LocationProvider) Plusieurs sources => vérifier que les sources sont actives boolean enabled = locm.isproviderenabled( LocationManager.GPS_PROVIDER); Si le provider n est pas disponible lancer les réglages : démarrer l activité avec l action : Settings. ACTION_LOCATION_SOURCE_SETTINGS
97 Localisation 22 On utilise un listener spécifique pour récupérer les coordonnées : le LocationListener : onlocationchanged(location location) onproviderdisabled(string p) onproviderenabled(string p) onstatuschanged(string p, int st, Bundle extras) On démarre l écoute en enregistrant le listener : locm.requestlocationupdates( LocationManager.GPS_PROVIDER ou un LocationProvider, TEMPS_ENTRE_MISE_A_JOUR, DISTANCE_ENTRE_MISE_A_JOUR, ll); On suspend le suivi : locm.removeupdates(ll);
98 Localisation 22 On utilise un listener spécifique pour récupérer les coordonnées : le LocationListener : onlocationchanged(location location) onproviderdisabled(string Selon un schéma maintenant bien connu, récupère p) les informations de localisation grâce à un lsitener, en implantant l interface onproviderenabled(string LocationListener qui permettra au système d appeler p) du code de onstatuschanged(string l application qui traitera les informations de p, localisation. int 4 st, méthodes Bundle extras) doivent-être implantées pour être conforme à cette interface. On démarre l écoute en enregistrant le listener : locm.requestlocationupdates( LocationManager.GPS_PROVIDER ou un LocationProvider, TEMPS_ENTRE_MISE_A_JOUR, DISTANCE_ENTRE_MISE_A_JOUR, ll); On suspend le suivi : locm.removeupdates(ll);
99 Localisation 22 On utilise un listener spécifique pour récupérer les coordonnées : le LocationListener : onlocationchanged(location location) onproviderdisabled(string p) onproviderenabled(string La méthode la plus importante est la méthode onlocationchanged(), p) qui fournit à notre application les données effectives de localisation. onstatuschanged(string p, int st, Bundle extras) Les autres méthodes informent sur l activation ou la désactivation de providers ou bien encore la modification de précision de localisation. On démarre l écoute en enregistrant le listener : locm.requestlocationupdates( LocationManager.GPS_PROVIDER ou un LocationProvider, TEMPS_ENTRE_MISE_A_JOUR, DISTANCE_ENTRE_MISE_A_JOUR, ll); On suspend le suivi : locm.removeupdates(ll);
100 Localisation 22 On utilise un listener spécifique pour récupérer les coordonnées : le LocationListener : Le listener est ensuite à enregistrer auprès du LocationManager grâce à la méthode onlocationchanged(location location) requestlocationupdates(). qui permet de spécifier : onproviderdisabled(string - provider d information à utiliser p) - onproviderenabled(string temps minimum à attendre entre 2 mises à jour p) de la position - la différence de distance minimale entre deux mises à jour pour provoquer une mise à jour onstatuschanged(string p, int st, Bundle extras) anticipée. - et enfin le LocationListener. Il existe d autres variantes depuis l API 9 dont l utilisation de critères de localisation On démarre l écoute en enregistrant le listener : locm.requestlocationupdates( LocationManager.GPS_PROVIDER ou un LocationProvider, TEMPS_ENTRE_MISE_A_JOUR, DISTANCE_ENTRE_MISE_A_JOUR, ll); On suspend le suivi : locm.removeupdates(ll);
101 Localisation 22 On utilise un listener spécifique pour récupérer les coordonnées : le LocationListener : onlocationchanged(location location) onproviderdisabled(string p) onproviderenabled(string p) onstatuschanged(string p, int st, Bundle extras) On démarre l écoute en enregistrant le listener : locm.requestlocationupdates( Comme l acquisition de la localisation est très énergivore LocationManager.GPS_PROVIDER (en particulier l utilisation du WiFi ou un LocationProvider ou du GPS), il est conseillé de suspendre cela dès que possible (par exemple au moment du onpause() pour une activité) grâce à la méthode removeupdates()., TEMPS_ENTRE_MISE_A_JOUR, DISTANCE_ENTRE_MISE_A_JOUR, ll); On suspend le suivi : locm.removeupdates(ll);
102 Localisation 22 On utilise un listener spécifique pour récupérer les coordonnées : le LocationListener : onlocationchanged(location location) onproviderdisabled(string p) onproviderenabled(string p) onstatuschanged(string p, int st, Bundle extras) On démarre l écoute en enregistrant le listener : locm.requestlocationupdates( LocationManager.GPS_PROVIDER ou un LocationProvider, TEMPS_ENTRE_MISE_A_JOUR, DISTANCE_ENTRE_MISE_A_JOUR, ll); On suspend le suivi : locm.removeupdates(ll);
103 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing()
104 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle L objet Location est fourni par le système lorsque ce dernier appel la float méthode onlocationchanged() getaccuracy() du double LocationListener. getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing()
105 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() getlatitude() et getlongitude() permettent de récupérer les 2 informations de base d une coordonnée de géolocalisation.
106 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() La méthode getaccuracy() permet d avoir une estimation de la précision de la coordonnée (si elle a pu être déterminée cf. hasaccuracy()). La valeur représente le rayon d une sphère (ou d un cercle) centrée sur la position et dans laquelle sphère se trouve la position réelle de appareil.
107 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() Permet de savoir si la mesure de l altitude est disponible ou pas. Si cette méthode retourne true, La valeur retournée par getaltitude() aura un sens, sinon la valeur n aur pas de sens et ne devrait pas être prise en compte.
108 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() La méthode getaltitude() permet d avoir une estimation de l altitude au dessus du niveau de la mer, si cette information est disponible. Par exemple pour le GPS il faudra que le périphérique matériel ait pu faire l acquisition de 5 signaux satellites pour pouvoir fournir cette information.
109 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() Retourne le nom du provider ayant déterminé cette nouvelle position.
110 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() Retourne la date à laquelle cette nouvelle position a été déterminée.
111 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() Retourne une estimation de la vitesse de déplacement du terminal, si elle a pu être calculée. cf. méthode (hasspeed()).
112 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() Permet de savoir si une estimation de la précision de la localisation a pu être déterminée ou pas.
113 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() Permet de savoir si une estimation de la direction de déplacement existe ou non. cf..getbearing().
114 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing() Retourne une estimation de l angle de la direction de déplacement du terminal à la surface de la terre (angle exprimé en degré)
115 Localisation 23 L objet Location contient un certain nombre d informations sur la position actuelle float getaccuracy() double getaltitude() double getlatitude() double getlongitude() String getprovider() float getspeed() long gettime() boolean hasaccuracy() boolean hasaltitude() boolean hasbearing() boolean hasspeed() float getbearing()
Android. Android is an environment where the biggest limitation is your imagination. [email protected] P1 1
Android Android is an environment where the biggest limitation is your imagination [email protected] P1 1 Présentation Android L économie de la téléphonie mobile Le projet Android Overview Framework IHM Géolocalisation
Android 4 Les fondamentaux du développement d'applications Java
La plateforme Android 1. Présentation 13 2. Historique 14 3. Google Play 15 3.1 Création d'un compte développeur 16 3.2 Publication d'une application 16 3.3 Suivi et mise à jour d'une application 18 Environnement
+33 (0)4 92 21 33 79 [email protected] www.social-box.fr. Sarl ISB Altipolis2 av. Du Général Barbot 05100 Briancon - France
Sarl ISB Altipolis2 av. Du Général Barbot 05100 Briancon - France SCHÉMA FONCTIONNEL * Projection vers smartphones et tablettes de votre interface en Appli par Wifi (10 à 100 mètres autour de la borne)
Tutorial Terminal Server sous
Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : [email protected] Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal
Sommaire. Leap motion... 2. Technologie... 2. Fonctionnement... 3. Langages utilisés... 3. Possibilités d utilisation... 4
Leap4Skywalker Sommaire Leap motion... 2 Technologie... 2 Fonctionnement... 3 Langages utilisés... 3 Possibilités d utilisation... 4 Projet développé avec le LeapMotion... 4 Imagination... 5 Technologies
Scopia Desktop. Sommaire
Scopia Desktop Objectif : le but de ce document est de vous guider sur la procédure à suivre pour le bon déroulement de l installation du logiciel Scopia Desktop, de son utilisation sur votre ordinateur
L informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
COPY. Picture Style Editor Ver. 1.4 MODE D EMPLOI. Logiciel de création de fichiers de style d image. Contenu de ce mode d emploi
Logiciel de création de fichiers de style d image Picture Style Editor Ver..4 MODE D EMPLOI Contenu de ce mode d emploi Picture Style Editor est abrégé en PSE. Dans ce mode d emploi, les fenêtres utilisées
Les fondamentaux du développement d applications Java
Android 5 Les fondamentaux du développement d applications Java Nazim BENBOURAHLA Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez
GUIDE D UTILISATION LA DEPECHE PREMIUM
www.ladepeche.fr/premium GUIDE D UTILISATION LA DEPECHE PREMIUM La version 100% numérique de La Dépêche du Midi 1 Madame, Monsieur, Ce guide a pour objectif de vous accompagner dans la prise en main de
Android en action. Abdelkader Lahmadi Université de Lorraine - 2013
Android en action Abdelkader Lahmadi Université de Lorraine - 2013 Plan La boîte à outils JDK SDK Android Eclipse Plugin Android pour Eclipse Architecture et composants La main à la pâte Hello Android
TUTORIEL. L application SIKKENS FR pas à pas
TUTORIEL L application SIKKENS FR pas à pas L application SIKKENS FR SIKKENS présente son application pour smartphones et tablettes, un outil incontournable et complet au service des peintres professionnels.
Cours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas [email protected] Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Lenovo TAB A7-40/ Lenovo TAB A7-50
Lenovo TAB A7-40/ Lenovo TAB A7-50 Guide de l utilisateur v. 1.0 Lisez attentivement les consignes de sécurité et les remarques importantes figurant dans le manuel fourni avant d utiliser votre tablette.
Découvrez Windows NetMeeting
Découvrez Windows NetMeeting Conférence Internet 2001 Université de Moncton. Tous droits réservés. Table des matières 1. Comment puis-je télécharger, installer et démarrer NetMeeting?... 3 2. Quelles sont
L écran du marais : Comment configurer le viewer OpensSim
L écran du marais : Comment configurer le viewer OpensSim Dans un premier temps, il vous faut télécharger et installer un logiciel de navigation dédié aux serveurs de mondes virtuels. En voici deux ainsi
TABLETTE MPMAN MP724 : EMPORTEZ LE MONDE AVEC VOUS
TABLETTE MPMAN MP724 : EMPORTEZ LE MONDE AVEC VOUS Internet Nomade La tablette internet MPMAN MP724 est spécialement conçue pour une utilisation nomade. A tout moment accédez directement à Internet et
LES TABLETTES : GÉNÉRALITÉS
LES TABLETTES : GÉNÉRALITÉS Fonctionnement Qu est-ce qu une tablette tactile? Une tablette tactile est un appareil doté d'un écran qui permet d'interagir simplement en touchant l'écran ou à l'aide d'un
2013 Pearson France Photoshop Elements 12 pour les photographes du numérique Loïc Olive
améliorer les PhOtOs L amélioration d une photo passe quasiment toujours par les mêmes étapes. On commence par la redresser, puis on s attelle à corriger ses dominantes de couleurs et sa tonalité. Vient
Windows 8 : une petite révolution? 9. Démarrer Windows 8 10. Accéder au Bureau à la connexion 13. Ouvrir ou activer une nouvelle session 13
Généralités Windows 8 : une petite révolution? 9 Démarrer Windows 8 10 Accéder au Bureau à la connexion 13 Ouvrir ou activer une nouvelle session 13 Utiliser les fonctionnalités tactiles 14 Utiliser l
Mode d emploi. Félicitations pour votre achat de la tablette Viewpia TB-107. Nous vous remercions pour votre confiance d acheter notre produit!
Mode d emploi Félicitations pour votre achat de la tablette Viewpia TB-107. Nous vous remercions pour votre confiance d acheter notre produit! Notre tablette est constamment améliorée et mise à jour, aussi
µrv : Realité Virtuelle
µrv : Realité Virtuelle Edgar-Fernando ARRIAGA-GARCIA Charles-Henri BABIAUD Clément GRELLIER Quentin PETIT Jérôme Ricoeur Florent VIOLLEAU INSA Rennes 21 septembre 2011 1 / 15 Objectifs pour cette semaine
TP2 : Client d une BDD SqlServer
TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc
pas à pas prise en main du service sur le web Le Cloud
pas à pas prise en main du service sur le web Le Cloud sommaire présentation générale de l interface 4-12 ajouter un fichier 13-16 sélectionner un ou plusieurs fichiers 17-19 ouvrir un fichier ou un dossier
Outils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr
Outils, langage et approche Android Une introduction Nicolas Stouls nicolas.stouls@insa lyon.fr Webographie La bible contenant «tout» : http://developer.android.com/index.html Les supports cette intervention
QUE PEUT-ON FAIRE DANS UNE CYBER-BASE? SOMMAIRE. Cyber-base mobile, à la demande. Pourquoi aller dans une Cyber-base?
SOMMAIRE Que peut-on faire dans une cyber-base?...p. 3 Zoom sur...... p. 4 Animations... p. 5 Parcours et cycles d approfondissement, exercices encadrés... p. 6-7 Cycles thématiques... p. 8-12 Cyber-bases
TP SIN Programmation sur androïde Support : eclipse
TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale
CHROMOPHARE Génération F : éclairage innovant à réflecteur avec LED. Un concept et un design d'éclairage qui réunissent fonctionnalité et esthétique
CHROMOPHARE Génération F : éclairage innovant à réflecteur avec LED Un concept et un design d'éclairage qui réunissent fonctionnalité et esthétique Tuttlingen, novembre 2011 - La nouvelle CHROMOPHARE Génération
ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE
1 Qu est-ce que Picasa? ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE Atelier «pour approfondir» Organiser, traiter et partager ses photos avec Picasa C est un logiciel de gestion de photos gratuit proposé
Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté
Compétences travaillées : Mettre en œuvre un protocole expérimental Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique
La classe numérique, une nouvelle façon d enseigner
La classe numérique, une nouvelle façon d enseigner Les technologies utilisées dans les classes numériques offrent des possibilités très riches en matière de travail sur les textes, les sons, les images
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,
Z222 Téléphone mobile Guide d utilisation
Z222 Téléphone mobile Guide d utilisation INFORMATION JURIDIQUE Copyright 2013 ZTE CORPORATION. Tous droits réservés. Aucune partie de cette publication ne peut être citée, reproduite, traduite ou utilisée
Français Table des Matières
Table des Matières Caractéristiques du FaceCam 310 1 Préparation de l appareil 2 Utilisation de l application de Messagerie Instantanée 3-13 CrazyTalk CamSuite PRO 14-24 CrazyTalk CamSuite PRO avec application
Dossier 03 Périphériques d acquisition
Dossier 03 Périphériques d acquisition I. PERIPHERIQUES D ACQUISITION... 1 II. CARACTERISTIQUES GENERALES... 2 A. CLAVIER... 2 B. SOURIS... 3 C. LECTEUR DE CODES A BARRES (OU CODE-BARRES)... 3 D. SCANNER...
SANKORÉ. Le manuel qui manquait. Traite de la version 1.25.0 du logiciel Sankoré
SANKORÉ Le manuel qui manquait Traite de la version 1.25.0 du logiciel Sankoré Version du manuel : 2.3-17.10.2011 disposition. Préface Dès sa conception en 2003, Uniboard a été pensé pour et avec les utilisateurs.
FAIRE COMMUNIQUER UNE TABLETTE AVEC UN PERIPHERIQUE SANS FIL POUR DUPLIQUER L ECRAN 22 avril 2015
TABLE DES MATIERES 1. Introduction... 2 Avantages :... 2 Contraintes :... 2 2. Projeter sur un écran sans fil avec Miracast... 3 Vérifier la compatibilité de son matériel... 3 La tablette ou l ordinateur...
Caméra IP motorisée de surveillance jour et nuit
Caméra IP motorisée de surveillance jour et nuit Surveillez votre maison, vos proches directement depuis votre smartphone, tablette... Manuel d'utilisation pour application Android Remerciements Nous vous
Manuel d utilisation
Photo non contractuelle Manuel d utilisation Avant d utiliser votre produit, veuillez lire attentivement les instructions d utilisation présentées dans ce manuel. L objectif de ce manuel est de vous familiariser
Glossaire technique Veditec
Glossaire technique Veditec 3D/2D DNR (digital noise réduction) La technologie DNR est un système de réduction numérique de bruit ayant pour but de réduire le bruit sur l image. Elle permet d obtenir des
Manuel d utilisation de Wireless Mobile Adapter Utility. Fonctionnalités
Manuel d utilisation de Wireless Mobile Adapter Utility Installez Wireless Mobile Adapter Utility sur votre périphérique mobile afin de télécharger des photos depuis un appareil photo ou afin de commander
GUIDE DE DÉMARRAGE RAPIDE
GUIDE DE DÉMARRAGE RAPIDE Lorsque vous utilisez votre caméra GoPro dans le cadre de vos activités sportives, faites toujours attention à ce qui se passe autour de vous afin d éviter de vous blesser, blesser
F7495. Guide Windows 8 pour ordinateurs portables ASUS
F7495 Guide Windows 8 pour ordinateurs portables ASUS Informations sur les droits d auteur Aucune partie du présent manuel, y compris les produits et logiciels qui y sont décrits, ne peut être reproduite,
Facebook. Pour une organisation ou une entreprise!
Facebook Pour une organisation ou une entreprise! Réalisé en mars 2010 Révisé en décembre 2010 Par : Sultana Ahamed, Isabelle Leblanc et Joline LeBlanc Qu est-ce que Facebook? Facebook est un réseau social
LOGICIEL DE SURVEILLANCE NUUO NOTICE
LOGICIEL DE SURVEILLANCE NUUO NOTICE Sommaire A Installation... 2 B Console principale... 4 C Ecran... D Configuration... E Programmation... F Système Smart Guide... G Playback... Cette notice est un guide
PG208, Projet n 3 : Serveur HTTP évolué
PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif
Pc Portable ou Tablette tactile?
Pc Portable ou Tablette tactile? Historique Une évolution constante. Le besoin de réduire la taille et le poids pour en faire un objet nomade et polyvalent. Ordinateur individuel Ordinateur Portable Netbook
Les tablettes numériques en EPS. Repères. Les différents types de tablettes et leurs caractéristiques.
Les tablettes numériques en EPS Repères. Les différents types de tablettes et leurs caractéristiques. Document actualisé le 17 Mars 2013 Repères L objectif de cet article est de donner des repères quand
YOGA TABLET 8. Manuel d utilisation V1.0
YOGA TABLET 8 Manuel d utilisation V1.0 Lisez attentivement les consignes de sécurité et les remarques importantes figurant dans le manuel fourni avant d utiliser votre tablette. Chapitre 01 Présentation
GLOBAL ACCESSIBILITY REPORTING INITIATIVE (GARI) MOBILE HANDSET/DEVICE ACCESSIBILITY REPORT
GLOBAL ACCESSIBILITY REPORTING INITIATIVE (GARI) MOBILE HANDSET/DEVICE ACCESSIBILITY REPORT Publishing Approval By: Elena Hurjui Publication Date: 15 May 2013 GARI Project Website www.mobileaccessibility.info
WINDOWS 8. Windows 8 se distingue par la présence de 2 interfaces complémentaires :
WINDOWS 8 Windows 8 : généralités Windows 8 est la dernière version du système d'exploitation de Windows, sortie en octobre 2012. Si vous possédez un ordinateur récent, il y a de fortes chances que votre
GUIDE D UTILISATION DU TABLEAU BLANC INTERACTIF EBEAM EDGE
GUIDE D UTILISATION DU TABLEAU BLANC INTERACTIF EBEAM EDGE Sommaire Installer ebeam : Calibrer le TBI ebeam : Fonctions Projection animée : 1ère utilisation : manipuler votre ordinateur depuis le tableau
Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES
Avant-propos Conçu par des pédagogues expérimentés, son originalité est d être à la fois un manuel de formation et un manuel de référence complet présentant les bonnes pratiques d utilisation. FICHES PRATIQUES
Foire aux questions sur Christie Brio
Foire aux questions sur Christie Brio Qu est-ce que Christie Brio? Christie Brio est une solution de collaboration et de présentation compatible réseau qui permet à plusieurs utilisateurs de partager,
L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES
L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES Aujourd hui, le numérique est partout. Il se retrouve principalement dans les nouvelles technologies, mais également dans l art, les livres, notre
Panorama de l offre et des usages des tablettes
Panorama de l offre et des usages des tablettes Sommaire Présentation Quels usages questions à se poser Les types de tablette Présentation des systèmes d exploitation Acteurs majeurs pour Océanis et les
LES APPAREILS ÉLECTRONIQUES PORTABLES. Congrès 2013 du SBO - Nord Présentateur : Brian Alberton
LES APPAREILS ÉLECTRONIQUES PORTABLES Congrès 2013 du SBO - Nord Présentateur : Brian Alberton Objectif Examiner les changements que connaissent les bibliothécaires et les clients à la suite de l arrivée
ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE
ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE Atelier «pour approfondir» Montage vidéo avec Windows Live Movie Maker 1 Présentation de Windows Live Movie Maker Windows Live Movie Maker est le logiciel de
geek Soyez le de l été! PHP 5.5 3 :HIKONB=^UZ^Z]:?k@b@g@p@a"; Découvrez Chrome, Firefox, IE, Safari Enquête écoles Diplômes : quel prix
100 % développeur Mensuel n 165 - juillet-août 2013 www.programmez.com Soyez le geek de l été! image du geek : istockphoto/peskymonkey Découvrez PHP 5.5 Picaxe, Leap Motion, Gadgeteer, Raspberry Pi : la
Guide d utilisation :application LIGHTIFY
Guide d utilisation :application LIGHTIFY La lumière connectée intelligente La lumière pour moi c est réinventer ma maison. Et la lumière pour vous c est.? Une nouvelle expérience de la lumière Contrôlez
CHOIX ET USAGES D UNE TABLETTE TACTILE EN ENTREPRISE
Tablette tactile, ardoise électronique 1 ou encore tablette PC, ce terminal mobile à mi-chemin entre un ordinateur et un smartphone a d abord séduit le grand public avant d être adopté par les entreprises.
Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP 2013 - Interfaces Multimodales
Rapport projet MMI 2013 Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3 Page 1 Table des matières Luis Domingues, Tiago De Deus, Naomi Favre Introduction... 4 Contexte... 4 Description du projet...
Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon
Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon Version 4.10 PDF-CIT-D-Rev1_FR Copyright 2011 Avigilon. Tous droits réservés. Les informations présentées sont sujettes à modification
Portier Vidéo Surveillance
Portier Vidéo Surveillance 1 Réf. 102212 Notice d installation et d utilisation INTRODUCTION : Ce vidéophone est un appareil qui associe un interphone et un système vidéo d une grande facilité d installation
Utilisation de la plateforme VIA ecollaboration
Entrer sur la plateforme L invitation que vous avez reçue comporte un lien vers la plateforme VIA ecollaboration (salle privée de François Guérin de Communagir). Pour y accéder, cliquez simplement sur
L environnement de travail de Windows 8
4 L environnement de travail de Windows 8 Mais où est donc passé le bouton Démarrer? L écran d accueil joue le rôle de l ancien bouton Démarrer. Si l icône de l application que vous voulez lancer n est
Guide de démarrage rapide. (pour la version 5.0.)
Guide de démarrage rapide (pour la version 5.0.) 2 Table des matières Introduction Réglages de l application MyTalk Mobile 1. MODIFICATION 2. DEMARRER 3. AFFICHER 4. SYNTHETISEUR VOCAL 5. NOMBRE DE MOTS
www.elektor.fr/android SOMMAIRE
www.elektor.fr/android Android Apprendre à programmer des applis Environnement de développement Eclipse Programmation orientée objet en JAVA Auteur : Stephan Schwark Éditeur : Elektor ISBN : 978-2-86661-187-3
Installation d une camera vidéo de surveillance à distance de personnes dépendantes sur PC et téléphone portable (Smartphone)
Installation d une camera vidéo de surveillance à distance de personnes dépendantes sur PC et téléphone portable (Smartphone) Philippe GREBET, fils d une personne atteinte de la Maladie d Alzheimer depuis
Les PowerToys pour Windows XP
43-45 rue CHARLOT 75003 PARIS. Benoît HAMET FRANCE : [email protected] Les PowerToys pour Windows XP......... Les PowerToys pour Windows XP Introduction...3 PowerToys disponibles au mois de
Tablette ASUS. Manuel électronique
Tablette ASUS Manuel électronique F9541 Juin 2014 Première édition 2 Table des matières Conventions...9 Entretien et sécurité... 10 Instructions...10 Mise au rebut...11 1 Préparation de la tablette Caractéristiques
Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0
Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive Sommaire - Le Robot M.I.M.I. (Multipode Intelligent à Mobilité Interactive) - Présentation du Système à Enseigner. - Composition
PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille
PRESENTATION RESSOURCES Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille 1) Introduction, Objectifs et Intentions Le BTS SN (Systèmes Numériques) intègre la formation
Indiquer l'espace libre sur le disque dur
ordinateur les plus Indiquer l'espace libre sur le disque dur - Nettoyer le disque dur - Défragmenter le disque dur Graver un CD ou un DVD - Installer un antivirus - Désinstaller un programme Copier des
Manuel de System Monitor
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation
Cours de Mécanique du point matériel
Cours de Mécanique du point matériel SMPC1 Module 1 : Mécanique 1 Session : Automne 2014 Prof. M. EL BAZ Cours de Mécanique du Point matériel Chapitre 1 : Complément Mathématique SMPC1 Chapitre 1: Rappels
Manuel Utilisateur Chariot odys.sante-lorraine.fr
odys.sante-lorraine.fr version 1.3 Sommaire 1. Présentation du chariot... 3 2. Mise en fonctionnement du chariot... 3 3. Connexion à Odys... 4 4. Téléconsultation vidéo... 5 4.1. Entrer en téléconsultation...
Guide de démarrage rapide du TruVision NVR 10
Guide de démarrage rapide du TruVision NVR 10 P/N 1072767B-FR REV 1.0 ISS 09OCT14 Copyright 2014 United Technologies Corporation. Interlogix fait partie d UTC Building & Industrial Systems, une unité de
Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration
Les Tablettes Les tablettes Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les tablettes Description: Appareil mobile positionné entre smartphone
Panneau solaire ALDEN
SOMMAIRE 1. Présentation... 1.1. Mise en situation... 1.2. Analyse du besoin... 4 1.. Problématique... 4 1.4. Expression du besoin... 5 1.5. Validation du besoin... 5 2. Analyse fonctionnelle... 2.1. Définition
MeMO Pad Manuel électronique
MeMO Pad Manuel électronique ASUS se dévoue pour concevoir des produits/emballages respectueux de l environnement pour protéger la santé des utilisateurs et minimiser l impact sur l environnement. La réduction
CYBER-BASE 2015-2016 M. E. F. I 2 RIVES. Programme des Ateliers
CYBER-BASE Programme des Ateliers 2015-2016 M. E. F. I 2 RIVES Maison de l Emploi de la Formation et de l Internet 29 av J Baylet - 82400 Valence d Agen 05.63.95.58.20 - www.mefi-2rives.fr Pour les débutants
Logiciel (Système d impression directe)
Manuel d utilisation Logiciel (Système ) Systèmes d imagerie numérique Paramétrage du Système Utilisation du Système Description générale Configuration requise Il est recommandé de lire attentivement ce
LA TABLETTE, UN OUTIL POLYVALENT!
LA TABLETTE, UN OUTIL POLYVALENT! Formation assurée par M. Rigart Laurent Plan de la formation: Un descriptif technique de la tablette Se connecter à internet au collège Paramétrer le Play Store Entretenir
Manuel de l utilisateur
Manuel de l utilisateur Nous vous remercions pour l achat de l appareil photo sportif GoXtreme WiFi. Avant d utiliser ce produit, veuillez lire attentivement ce guide pour optimiser ses performances et
D-ViewCam V3.0 Video Management System
D-ViewCam V3.0 Video Management System Aperçu du produit D-ViewCam est un logiciel de supervision de caméras video (VMS). D-ViewCam permet d enregistrer des video/audio et de visualiser jusqu à 32 caméras
Un ordinateur, c est quoi?
B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits
Géolocalisation. Remy Sharp
Chapitre 9 Géolocalisation Remy Sharp L API de géolocalisation fait partie de ces API qui n ont rien à voir avec la spécification HTML5 ; elle a d ailleurs été créée par le W3C et non par le WHATWG. En
Ma maison Application téléphone mobile
Ma maison Application téléphone mobile Pour les transmetteurs et centrales transmetteurs GSM DELTA DORE Notice d installation et d utilisation Sommaire 1 - Présentation...............................................................
Cours / Formation pour débutant en informatique, bureautique, Internet etc... (pour débutants)
Cours / Formation pour débutant en informatique, bureautique, Internet etc... (pour débutants) Vous désirez vous former à l'informatique, vous désirez devenir autonome rapidement avec les fonctions de
L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence
L ORDINATEUR Les composants La carte mère Elle se trouve au centre de l'ordinateur et connecte tous les composants PC. La carte mère contient les connexions pour le processeur, la mémoire et les unités
CTIconnect PRO. Guide Rapide
CTIconnect PRO Guide Rapide Version 01.02.2013 CTIconnect PRO est une application de communication permettant aux utilisateurs du système de voir le statut de leurs collègues et de les contacter en 1 clic
Je sais utiliser. Logiciel gratuit de gestion des photos. Étude en 5 parties
Je sais utiliser Logiciel gratuit de gestion des photos Les modules ci-contre ont été élaborés lors de la sortie de Picasa 3,6 (avril 2010) Des modifications ont été apportées par les versions suivantes
Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer
Programmation des applications mobiles avec Android 1 Inspiré du cours de Olivier Le Goaer 2 OS mobile : outils de développement D après le cours de Olivier Le Goaer 3 Plateforme de développement MobileApp
Fabriquer son TBI avec une manette de jeu WII
Fabriquer son TBI avec une manette de jeu WII Dans la conférence Agroéquipements de l enseignement public agricole, Jean- Paul Douzals ([email protected]) nous a indiqué l adresse du site de
MANUEL TBI - INTERWRITE
MANUEL TBI - INTERWRITE TBIIW TITRE Manuel InterWrite WorkSpace INTITULE Manuel d'utilisation du logiciel InterWrite accompagnant le tableau blanc interactif CALCOMP OBJECTIF Aide mémoire sur les fonctionnalités
