Programmation Android M1 informatique

Dimension: px
Commencer à balayer dès la page:

Download "Programmation Android M1 informatique"

Transcription

1 Programmation Android M1 informatique Étienne Payet Département de mathématiques et d informatique Ces transparents sont mis à disposition selon les termes de la Licence Creative Commons Paternité - Pas d Utilisation Commerciale - Pas de Modification 3.0 non transcrit. Étienne Payet (DMI) Prog. Android M1 informatique 1 / 74

2 Plan 1 Rotation de l écran 2 Récepteurs de diffusion 3 Géolocalisation 4 Capteurs 5 Lecture audio 6 Gestes courants 7 Appareil photo Étienne Payet (DMI) Prog. Android M1 informatique 2 / 74

3 Rotation de l écran en cas de rotation de l écran, l activité courante est détruite (appel à ondestroy) puis une nouvelle activité adaptée à la nouvelle orientation est créée (appel à oncreate, utilisation éventuelle d une ressource alternative) attention aux pertes potentielles de données (certaines valeurs peuvent avoir changé pendant l exécution de l activité détruite par la rotation) Étienne Payet (DMI) Prog. Android M1 informatique 3 / 74

4 Forcer l orientation de l écran dans AndroidManifest.xml : <activity android:name=".mainactivity" android:label="@string/app_name" android:screenorientation="landscape"/> ou <activity android:name=".mainactivity" android:label="@string/app_name" android:screenorientation="portrait"/> Étienne Payet (DMI) Prog. Android M1 informatique 4 / 74

5 Éviter la perte de données : utiliser le Bundle instance de la classe Bundle = conteneur associatif (clé,valeur) ou la clé est une chaîne de caractères (String) chaque application qui tourne possède une instance de cette classe le Bundle existe tant que l application n est pas quittée (i.e. tant que la backstack n est pas vide) la méthode onsaveinstancestate(bundle) est appelée sur l activité avant sa destruction la méthode oncreate(bundle) est appelée sur la nouvelle activité Étienne Payet (DMI) Prog. Android M1 informatique 5 / 74

6 Éviter la perte de données : utiliser le Bundle public class MainActivity extends Activity { private int protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); if (savedinstancestate == null) truc = 2; else truc = protected void onsaveinstancestate(bundle savedinstancestate) { // Méthode appelée avant destruction de l activité super.onsaveinstancestate(savedinstancestate); savedinstancestate.putint("montruc", truc); Étienne Payet (DMI) Prog. Android M1 informatique 6 / 74

7 Exercice Étienne Payet (DMI) Prog. Android M1 informatique 7 / 74

8 Exercice le menu options permet d éditer le message gérer la rotation de l écran : modes portrait et paysage autorisés la rotation conserve le message et le nombre de changements courants Étienne Payet (DMI) Prog. Android M1 informatique 8 / 74

9 Plan 1 Rotation de l écran 2 Récepteurs de diffusion 3 Géolocalisation 4 Capteurs 5 Lecture audio 6 Gestes courants 7 Appareil photo Étienne Payet (DMI) Prog. Android M1 informatique 9 / 74

10 Notion de diffusion informer l ensemble des applications de la survenue d un événement : appel entrant batterie faible... diffusion d un objet de la classe Intent à l ensemble des applications Étienne Payet (DMI) Prog. Android M1 informatique 10 / 74

11 La classe Intent un objet de la classe Intent : est une description d un message ou d une opération à exécuter a pour attributs : action = description générale (chaîne de caractères) - constantes de la classe Intent : ACTION_MAIN, ACTION_VIEW, ACTION_BATTERY_CHANGED, ACTION_SHUTDOWN,... - de la forme "com.etienne.android.view" category = informations complémentaires - constantes de la classe Intent : CATEGORY_DEFAULT, CATEGORY_LAUNCHER, constructeurs : Intent(String action),... Étienne Payet (DMI) Prog. Android M1 informatique 11 / 74

12 Diffuser un objet de la classe Intent méthode sendbroadcast de la classe Activity Intent intent = new Intent("com.etienne.android.VIEW"); intent.putextra("message", "Coucou!"); sendbroadcast(intent); Étienne Payet (DMI) Prog. Android M1 informatique 12 / 74

13 Prise en compte d un Intent diffusé toute application souhaitant considérer un Intent diffusé doit : définir un filtre d Intent qui précise ce souhait écouter les messages diffusés grâce à un récepteur de diffusion récepteur de diffusion = objet d une sous-classe de BroadcastReceiver composant de l application, au même titre qu une activité Étienne Payet (DMI) Prog. Android M1 informatique 13 / 74

14 Traitement d un Intent diffusé on définit une sous-classe de BroadcastReceiver : public class MyBroadcastReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { // traitement de l Intent diffusé Étienne Payet (DMI) Prog. Android M1 informatique 14 / 74

15 Définition du filtre et création du récepteur création d un récepteur permanent : AndroidManifest.xml <manifest > <application > <receiver android:name="mybroadcastreceiver"> <intent-filter> <action android:name="com.etienne.android.view"/> <category android:name="android.intent.category.default"/> </intent-filter> </receiver> </application> </manifest> Étienne Payet (DMI) Prog. Android M1 informatique 15 / 74

16 Définition du filtre et création du récepteur création d un récepteur temporaire : MyBroadcastReceiver receiver = new MyBroadcastReceiver(); IntentFilter filter = new IntentFilter("com.etienne.android.VIEW"); registerreceiver(receiver, filter); unregisterreceiver(receiver); // ne pas oublier, sinon erreur! Étienne Payet (DMI) Prog. Android M1 informatique 16 / 74

17 Exercice écrire : une application qui diffuse un Intent une application qui réagit à la diffusion en affichant un Toast Étienne Payet (DMI) Prog. Android M1 informatique 17 / 74

18 Plan 1 Rotation de l écran 2 Récepteurs de diffusion 3 Géolocalisation 4 Capteurs 5 Lecture audio 6 Gestes courants 7 Appareil photo Étienne Payet (DMI) Prog. Android M1 informatique 18 / 74

19 Fournisseurs de position plusieurs moyens de localisation : GPS, réseau mobile + WiFi,... constantes prédéfinies de type String pour désigner un fournisseur : LocationManager.GPS_PROVIDER LocationManager.NETWORK_PROVIDER LocationManager.PASSIVE_PROVIDER liste des fournisseurs activés : String locationcontext = Context.LOCATION_SERVICE; LocationManager locationmanager = (LocationManager) getsystemservice(locationcontext); List<String> providers = locationmanager.getproviders(true); Étienne Payet (DMI) Prog. Android M1 informatique 19 / 74

20 Fournisseurs de position permissions à déclarer dans AndroidManifest.xml : localisation précise (par GPS par exemple) <uses-permission android:name="android.permission.access_fine_location"/> localisation approximative (par le réseau par exemple) <uses-permission android:name="android.permission.access_coarse_location"/> Étienne Payet (DMI) Prog. Android M1 informatique 20 / 74

21 Obtenir sa position String locationcontext = Context.LOCATION_SERVICE; LocationManager locationmanager = (LocationManager) getsystemservice(locationcontext); String provider = LocationManager.GPS_PROVIDER; Location location = locationmanager.getlastknownlocation(provider); if (location!= null) { double latitude = location.getlatitude(); double longitude = location.getlongitude(); Étienne Payet (DMI) Prog. Android M1 informatique 21 / 74

22 Détecter le changement de position méthodes de la classe LocationManager : public void requestlocationupdates(string f, long t, float d, LocationListener l) - f : fournisseur de position - t : temps minimum (millisecondes) entre deux mises à jour - d : distance minimum (mètres) entre deux mises à jour - l : écouteur qui reçoit les notifications public void removeupdates(locationlistener l) - l : écouteur qui reçoit les notifications Étienne Payet (DMI) Prog. Android M1 informatique 22 / 74

23 Détecter le changement de position public class MyActivity extends Activity { private LocationManager locationmanager; private String locationprovider = LocationManager.GPS_PROVIDER; private LocationListener mlistener; Étienne Payet (DMI) Prog. Android M1 informatique 23 / 74

24 Détecter le changement de public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); locationmanager = (LocationManager) getsystemservice( Context.LOCATION_SERVICE); if (locationmanager!= null) mlistener = new LocationListener() { public void onlocationchanged(location location) { displayposition(); public void onproviderdisabled(string provider) { public void onproviderenabled(string provider) { public void onstatuschanged(string provider, int status, Bundle extras) { ; Étienne Payet (DMI) Prog. Android M1 informatique 24 / 74

25 Détecter le changement de public void onresume() { super.onresume(); if (locationmanager!= null) { displayposition(); locationmanager.requestlocationupdates( locationprovider, 6000, 100, public void onpause() { if (locationmanager!= null) locationmanager.removeupdates(mlistener); super.onpause(); Étienne Payet (DMI) Prog. Android M1 informatique 25 / 74

26 Détecter le changement de position public void displayposition() { String msg = null; Location location = locationmanager.getlastknownlocation(locationprovider); if (location!= null) msg = String.format("(%.2f, %.2f)", location.getlatitude(), location.getlongitude()); else msg = "position inconnue"; Log.v("Position", msg); // fin de la classe MyActivity Étienne Payet (DMI) Prog. Android M1 informatique 26 / 74

27 Détecter le changement de position une autre possibilité : utiliser les Google Play Services squelette de code Étienne Payet (DMI) Prog. Android M1 informatique 27 / 74

28 Un nouveau système de permissions depuis Android Étienne Payet (DMI) Prog. Android M1 informatique 28 / 74

29 Exercice détection des changements de position l affichage tient compte de la langue Étienne Payet (DMI) Prog. Android M1 informatique 29 / 74

30 Alertes de proximité objectif : indiquer qu on se rapproche d un point d intérêt un Intent est diffusé lorsque l appareil entre ou sort d une zone circulaire centrée sur le point d intérêt l Intent diffusé peut être capturé par un récepteur de diffusion (voir section 2) Étienne Payet (DMI) Prog. Android M1 informatique 30 / 74

31 Ajout d une alerte méthode de la classe LocationManager : public void addproximityalert(double latitude, double longitude, float rayon, long expiration, PendingIntent pintent) latitude, longitude : coordonnées du point d alerte rayon : rayon (mètres) de la zone autour du point d alerte expiration : temps (millisecondes) de l alerte, -1 pour une alerte permanente pintent : pour générer l Intent diffusé lorsque l appareil entre/sort de la zone d alerte Étienne Payet (DMI) Prog. Android M1 informatique 31 / 74

32 Retrait d une alerte méthode de la classe LocationManager : public void removeproximityalert(pendingintent pintent) pintent : le PendingIntent qui a été utilisé lors de l appel à addproximityalert Étienne Payet (DMI) Prog. Android M1 informatique 32 / 74

33 Gestion d une alerte public class ProximityBroadcastReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { String message; String key = LocationManager.KEY_PROXIMITY_ENTERING; Boolean entering = intent.getbooleanextra(key, false); if (entering) message = "entree dans la zone"; else message = "sortie de la zone"; Log.v("Message", message); Toast.makeText(context, message, Toast.LENGTH_LONG).show(); Étienne Payet (DMI) Prog. Android M1 informatique 33 / 74

34 Gestion d une alerte <manifest > <uses-permission android:name="android.permission.access_fine_location" /> <application > <receiver android:name="proximitybroadcastreceiver" > <intent-filter> <action android:name="com.etienne.position.proximityalert"/> <category android:name="android.intent.category.default"/> </intent-filter> </receiver> </application> </manifest> Étienne Payet (DMI) Prog. Android M1 informatique 34 / 74

35 Gestion d une alerte public class MainActivity extends Activity { private LocationManager locationmanager; private PendingIntent protected void oncreate(bundle savedinstancestate) { locationmanager = (LocationManager) getsystemservice( Context.LOCATION_SERVICE); Intent intent = new Intent("com.etienne.position.ProximityAlert"); proximityintent = PendingIntent.getBroadcast( this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); Étienne Payet (DMI) Prog. Android M1 informatique 35 / 74

36 Gestion d une public void onresume() { locationmanager.addproximityalert(-21.11, 55.53, f, -1, public void onpause() { locationmanager.removeproximityalert(proximityintent); // Fin de la classe MainActivity Étienne Payet (DMI) Prog. Android M1 informatique 36 / 74

37 Exercice Étienne Payet (DMI) Prog. Android M1 informatique 37 / 74

38 Google Play Services accès aux services Google (Maps, Google+,...) dans les applications API fournie par le Google Play Services SDK Étienne Payet (DMI) Prog. Android M1 informatique 38 / 74

39 Utilisation des Google Maps start?hl=fr compte Google nécessaire pour générer une clé et la lier au projet Étienne Payet (DMI) Prog. Android M1 informatique 39 / 74

40 Utilisation des Google Maps créer une application faisant intervenir les classes : GoogleMap : modélise une carte MapFragment ou MapView pour l affichage d une carte (MapFragment est plus simple à utiliser que MapView) utiliser le template Google Maps Activity lors de la création du projet sous Android Studio Étienne Payet (DMI) Prog. Android M1 informatique 40 / 74

41 Exercice un appui sur le bouton en haut à droite permet de pointer la position courante sur une carte tester différents types de carte Étienne Payet (DMI) Prog. Android M1 informatique 41 / 74

42 Mouvements de la caméra créer une instance de la classe CameraUpdate grâce à la classe CameraUpdateFactory : CameraUpdateFactory.zoomBy(float) CameraUpdateFactory.newLatLng(LatLng)... utiliser les méthodes movecamera(cameraupdate) ou animatecamera(cameraupdate) pour bouger la caméra la classe LatLng permet de créer des points : constructeur LatLng(double, double) Étienne Payet (DMI) Prog. Android M1 informatique 42 / 74

43 Marqueurs GoogleMap map = ((MapFragment) getfragmentmanager(). findfragmentbyid(r.id.map)).getmap(); map.addmarker(new MarkerOptions().position(new LatLng(0, 0)).title("Coucou").snippet("Je suis ici")); Étienne Payet (DMI) Prog. Android M1 informatique 43 / 74

44 Exercice Étienne Payet (DMI) Prog. Android M1 informatique 44 / 74

45 Plan 1 Rotation de l écran 2 Récepteurs de diffusion 3 Géolocalisation 4 Capteurs 5 Lecture audio 6 Gestes courants 7 Appareil photo Étienne Payet (DMI) Prog. Android M1 informatique 45 / 74

46 Capteurs accéléromètre, gyroscope, capteur de pression,... classe Sensor : - Sensor.TYPE_ACCELEROMETER, - Sensor.TYPE_GYROSCOPE, - Sensor.TYPE_PRESSURE, -... Étienne Payet (DMI) Prog. Android M1 informatique 46 / 74

47 Gestion des capteurs classe SensorManager pour gérer tous les capteurs différents taux de rafraîchissement possibles : - SensorManager.SENSOR_DELAY_FASTEST, - SensorManager.SENSOR_DELAY_GAME, - SensorManager.SENSOR_DELAY_NORMAL, - SensorManager.SENSOR_DELAY_UI Étienne Payet (DMI) Prog. Android M1 informatique 47 / 74

48 Écouter un capteur interface SensorEventListener méthodes à implémenter : public void onaccuracychanged(sensor sensor, int accuracy) public void onsensorchanged(sensorevent event) Étienne Payet (DMI) Prog. Android M1 informatique 48 / 74

49 Écouter un capteur méthodes de la classe SensorManager pour lier un écouteur à un capteur : public boolean registerlistener( SensorEventListener ecouteur, Sensor capteur, int tauxrafraichissement) public void unregisterlistener( SensorEventListener ecouteur, Sensor capteur) Étienne Payet (DMI) Prog. Android M1 informatique 49 / 74

50 Exemple public class MySensorActivity extends Activity implements SensorEventListener { private Sensor maccelerometer; private SensorManager manager; private boolean public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); manager = (SensorManager) getsystemservice(service.sensor_service); maccelerometer = manager.getdefaultsensor(sensor.type_accelerometer); Étienne Payet (DMI) Prog. Android M1 informatique 50 / 74

51 public void onresume() { super.onresume(); accelsupported = manager.registerlistener( this, maccelerometer, public void onpause() { if (accelsupported) manager.unregisterlistener(this, maccelerometer); super.onpause(); Étienne Payet (DMI) Prog. Android M1 informatique 51 / 74

52 public void onaccuracychanged(sensor sensor, int accuracy) public void onsensorchanged(sensorevent event) { switch (event.sensor.gettype()) { case Sensor.TYPE_ACCELEROMETER: // fin de la classe MySensorActivity Étienne Payet (DMI) Prog. Android M1 informatique 52 / 74

53 Exercice Étienne Payet (DMI) Prog. Android M1 informatique 53 / 74

54 Exercice choix du capteur : accéléromètre, gyroscope, magnétomètre choix du taux de rafraîchissement : SENSOR_DELAY_FASTEST, SENSOR_DELAY_GAME, SENSOR_DELAY_NORMAL, SENSOR_DELAY_UI listes déroulantes : voir la classe Spinner Étienne Payet (DMI) Prog. Android M1 informatique 54 / 74

55 Plan 1 Rotation de l écran 2 Récepteurs de diffusion 3 Géolocalisation 4 Capteurs 5 Lecture audio 6 Gestes courants 7 Appareil photo Étienne Payet (DMI) Prog. Android M1 informatique 55 / 74

56 La classe MediaPlayer utilisée pour la lecture audio et vidéo différentes sources possibles (fichier local, streaming sur Internet) fichier local = ressource à placer dans le dossier res/raw plusieurs formats peuvent être lus (WAV, MP3...) Étienne Payet (DMI) Prog. Android M1 informatique 56 / 74

57 Lecture d un fichier son méthodes de la classe MediaPlayer : création d un lecteur : public static MediaPlayer create (Context context, int resid) démarrage de la lecture : public void start () l interface MediaPlayer.OnCompletionListener permet de définir une méthode appelée lorsque la lecture du fichier est terminée Étienne Payet (DMI) Prog. Android M1 informatique 57 / 74

58 Interruption de la lecture une instance de MediaPlayer peut monopoliser des ressources système partagées avec d autres applications (décodeur audio...) règle : n avoir qu une seule instance de MediaPlayer et ne garder cette instance que si elle lit quelque chose la méthode public void release () permet de détruire une instance de MediaPlayer et de libérer toutes les ressources système qui lui étaient allouées Étienne Payet (DMI) Prog. Android M1 informatique 58 / 74

59 Exemple public class MonActivite extends Activity { // activité présentant un bouton play et un bouton stop private MediaPlayer public void oncreate(bundle savedinstancestate) { // Méthode appelée si appui sur bouton stop: public void stop(view v) { if (mplayer!= null) { mplayer.release(); mplayer = null; Étienne Payet (DMI) Prog. Android M1 informatique 59 / 74

60 Exemple // Méthode appelée si appui sur bouton play public void play(view v) { stop(); mplayer = MediaPlayer.create(this, R.raw.mon_fichier_son); mplayer.setoncompletionlistener( new MediaPlayer.OnCompletionListener() { public void oncompletion(mediaplayer mp) { stop(); ); mplayer.start(); Étienne Payet (DMI) Prog. Android M1 informatique 60 / 74

61 Exemple // Méthode appelée lors de la destruction de l public void ondestroy() { super.ondestroy(); stop(); // fin de la classe MonActivite Étienne Payet (DMI) Prog. Android M1 informatique 61 / 74

62 Exercice la balle verte se déplace sur l écran en fonction de l inclinaison de l appareil, elle ne sort pas de l écran le ToggleButton active/désactive le déplacement de la balle les boutons -/+ modifient la vitesse lorsque la balle touche le bord de l écran, un son est émis vérouiller la rotation de l écran (mode portrait uniquement) Étienne Payet (DMI) Prog. Android M1 informatique 62 / 74

63 Plan 1 Rotation de l écran 2 Récepteurs de diffusion 3 Géolocalisation 4 Capteurs 5 Lecture audio 6 Gestes courants 7 Appareil photo Étienne Payet (DMI) Prog. Android M1 informatique 63 / 74

64 Capture d une touche utilisateur méthode ontouchevent(motionevent e) des classes View et Activity cette méthode renvoie true si l événement est capturé et false sinon voir les constantes : MotionEvent.ACTION_MOVE MotionEvent.ACTION_DOWN... Étienne Payet (DMI) Prog. Android M1 informatique 64 / 74

65 Exemple public class MainActivity extends Activity public boolean ontouchevent(motionevent event) { int action = MotionEventCompat.getActionMasked(event); switch(action) { case (MotionEvent.ACTION_DOWN): Log.d(DEBUG_TAG,"Action DOWN"); return true; default: return super.ontouchevent(event); Étienne Payet (DMI) Prog. Android M1 informatique 65 / 74

66 Gestes courants la classe GestureDetector définit les interfaces : ongesturelistener pour capturer les touches, les pressions longues, les mouvements de scroll... ondoubletaplistener pour capturer les doubles taps et les confirmations de simples taps ces interfaces déclarent des méthodes de la forme boolean on<evénement>() qui doivent renvoyer true si on considère que l événement en paramètre est capturé et false sinon (et alors, l événément est passé à un autre objet jusqu à ce qu il soit traité) Étienne Payet (DMI) Prog. Android M1 informatique 66 / 74

67 Exemple public class MainActivity extends Activity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { private static final String DEBUG_TAG = "Gestures"; private GestureDetectorCompat public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mdetector = new GestureDetectorCompat(this,this); mdetector.setondoubletaplistener(this); Étienne Payet (DMI) Prog. Android M1 informatique 67 / 74

68 public boolean ontouchevent(motionevent event) { this.mdetector.ontouchevent(event); return public boolean ondown(motionevent event) { Log.d(DEBUG_TAG,"onDown: " + event.tostring()); return public boolean ondoubletap(motionevent event) { Log.d(DEBUG_TAG, "ondoubletap: " + event.tostring()); return true; Étienne Payet (DMI) Prog. Android M1 informatique 68 / 74

69 Gestion du balayage (swipe) utiliser la méthode onfling de GestureDetector.OnGestureListener Étienne Payet (DMI) Prog. Android M1 informatique 69 / 74

70 Gestion du balayage (swipe) public class MainActivity extends Activity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { private static final int SWIPE_MIN_DISTANCE = 120; private static final int SWIPE_THRESHOLD_VELOCITY = public boolean onfling(motionevent event1, MotionEvent event2, float velocityx, float velocityy) { if (event1.getx() - event2.getx() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) // Left swipe else if (event2.getx() - event1.getx() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) // Right swipe else if (event1.gety() - event2.gety() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) > SWIPE_THRESHOLD_VELOCITY) // Swipe up else if (event2.gety() - event1.gety() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) > SWIPE_THRESHOLD_VELOCITY) // Swipe down return false; Étienne Payet (DMI) Prog. Android M1 informatique 70 / 74

71 Exercice écrivez une application qui affiche un message à l écran lorsque l un des gestes gérés par la classe GestureDetector (simple/double tap, pression longue, fling... ) est reconnu Étienne Payet (DMI) Prog. Android M1 informatique 71 / 74

72 Exercice : jeu du taquin à 9 cases https: //fr.wikipedia.org/wiki/taquin le déplacement d une case se fait par un mouvement de balayage (swipe) un son est émis lorsqu une case est déplacée menu options : recommencer la partie en cours, commencer une nouvelle partie et quitter le jeu gérer la rotation de l écran (modes portrait et paysage autorisés) Étienne Payet (DMI) Prog. Android M1 informatique 72 / 74

73 Plan 1 Rotation de l écran 2 Récepteurs de diffusion 3 Géolocalisation 4 Capteurs 5 Lecture audio 6 Gestes courants 7 Appareil photo Étienne Payet (DMI) Prog. Android M1 informatique 73 / 74

74 Capture et sauvegarde d une photo 2 possibilités : utiliser un Intent pour invoquer un logiciel de capture existant déjà dans l appareil créer son propre logiciel de capture détails : Étienne Payet (DMI) Prog. Android M1 informatique 74 / 74

Projet Android (LI260) Cours 2

Projet Android (LI260) Cours 2 Projet Android (LI260) Cours 2 Nicolas Baskiotis Université Pierre et Marie Curie (UPMC) Laboratoire d Informatique de Paris 6 (LIP6) S2-2013/2014 Plan Les ressources Debug Communication entre activités

Plus en détail

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction jean-michel Douin, douin au cnam point fr version : 8 Décembre 2014 Notes de cours 1 Sommaire Le socle, les fondements Le patron

Plus en détail

Android en action. Abdelkader Lahmadi Université de Lorraine - 2013

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

Plus en détail

Développement sous Android

Développement sous Android Développement sous Android Chapitres traités Les fournisseurs de contenu (Content Provider) Pour cette dernière étude de l'environnement Android, nous allons en profiter pour découvrir plein de fonctionnalités

Plus en détail

TP au menu «UI ANDROID»

TP au menu «UI ANDROID» TP au menu «UI ANDROID» Pré-requis & Installation ( du couvert) soit installer en natif sur vos postes (!!! ATTENTION!!! FromScratch 1,1 Go à télécharger ) JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html

Plus en détail

www.elektor.fr/android SOMMAIRE

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

Plus en détail

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

Plus en détail

Les fondamentaux du développement d applications Java

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

Plus en détail

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

Plus en détail

Android et le Cloud Computing

Android et le Cloud Computing Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un

Plus en détail

DÉVELOPPEMENT ANDROID

DÉVELOPPEMENT ANDROID DÉVELOPPEMENT ANDROID ESIEE / Key Consulting Partie 2 v2.2-2012 INTENT Key Consulting INTENT Intent : intention Une Intent est une agrégation d informations, décrivant de manière abstraite une action devant

Plus en détail

TP SIN Programmation sur androïde Support : eclipse

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

Plus en détail

Android 4 Les fondamentaux du développement d'applications Java

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

Plus en détail

Warren PAULUS. Android SDK et Android x86

Warren PAULUS. Android SDK et Android x86 Android SDK et Android x86 2010/2011 Voici un petit tutoriel pour installer Android de façon à ce qu il soit compatible avec NetBeans et Eclipse, ainsi que l utilisation d Android x86. Ce tutoriel a été

Plus en détail

Créer des applications Android

Créer des applications Android Créer des applications Android Auteurs : Philippe Lacomme, Raksmey Phan Les outils nécessaires sont : - Android SDK - Eclipse - Le plugin ADT de Eclipse Plan (ceci n est pas un cours) Outils: Préparation

Plus en détail

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1 Les connexions sans fil avec Android JMF (Tous droits réservés) 1 Plan de l'exposé Wi-Fi : un rappel Démo 1 : trouver les réseaux Wi-Fi Démo 2 : repérer les appareils connectés sur notre réseau Wi-Fi Démo

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Tutorial pour une application simple

Tutorial pour une application simple ANDROID & ECLIPSE Tutorial pour une application simple 1. Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Education Delivery Intelligent Tool

Education Delivery Intelligent Tool Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

1.3 Gestion d'une application

1.3 Gestion d'une application 1.3 Gestion d'une application 1. Un premier projet... Il est temps maintenant d'écrire la véritable première application Android avec l'inévitable affichage du mot bonjour, ce qui évidemment pour un développement

Plus en détail

Programmation mobile avec Android

Programmation mobile avec Android Programmation mobile avec Android Pierre Nerzic - pierre.nerzic@univ-rennes1.fr février-mars 2015 Abstract Il s agit des transparents du cours mis sous une forme plus facilement imprimable et lisible.

Plus en détail

Module Architecture des systèmes mobiles : Android première partie - 2015 Didier FERMENT - UPJV

Module Architecture des systèmes mobiles : Android première partie - 2015 Didier FERMENT - UPJV Module Architecture des systèmes mobiles : Android première partie - 2015 Didier FERMENT - UPJV Plan 1ére partie : Introduction Première Activité : layout classe Activity manifeste développement avec un

Plus en détail

Architectures Mobiles

Architectures Mobiles Architectures Mobiles Tarak Chaari Maître assistant à l ISECS Cours de Mastère de recherche à l ISECS Votre interlocuteur Tarak CHAARI Maître Assistant à l Institut Supérieur d Electronique et de Communication

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii

Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii Unity Moteur de jeu 3D et 2D Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii C# / Javascript (UnityScript) / Boo Possibilité de créer ses propres outils Programmation

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Programmation Android L3 informatique

Programmation Android L3 informatique Programmation Android L3 informatique Étienne Payet Département de mathématiques et d informatique Ces transparents sont mis à disposition selon les termes de la Licence Creative Commons Paternité - Pas

Plus en détail

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE Développement tablette Android SophiaConf2011 Par Arnaud FARINE Parts de marché Android en 2011 1er OS vendu aux EU fin 2010 24% des smartphones en France (35% ios, 11% Blackberry) 3,6 millions de smartphones

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Stockage de données sous Android

Stockage de données sous Android Stockage de données sous Android Master 2 informatique 2012-2013 Michel Chilowicz (sous licence CC By-NC-SA) Données temporaires d'une activité Une activité peut être détruite

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

Paris Airports - Web API Airports Path finding

Paris Airports - Web API Airports Path finding Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : Olivier.MONGIN@adp.fr Date : 19/05/2015 Approbateur

Plus en détail

Intégration d'un système d'audio-vidéo conférence sur un robot de téléprésence

Intégration d'un système d'audio-vidéo conférence sur un robot de téléprésence Rapport de stage de 2ème année : Intégration d'un système d'audio-vidéo conférence sur un robot de téléprésence Gerontechnology Research Center, Yuan Ze University, Taiwan Kévin Ham Stage effectué du :

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Android UIThread, Thread, Handler et AsyncTask

Android UIThread, Thread, Handler et AsyncTask Android UIThread, Thread, Handler et AsyncTask jean-michel Douin, douin au cnam point fr version : 21 septembre 2012 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html

Plus en détail

Introduction ANDROID

Introduction ANDROID Introduction ANDROID 1 Un monde ouvert Première plateforme ouverte pour appareils mobiles.les applications natives et tierces utilisent les mêmes API. Un système d exploitation open source libre pour appareils

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Threads. Threads. USTL http://www.lifl.fr/ routier 1

Threads. Threads. USTL http://www.lifl.fr/ routier 1 Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un

Plus en détail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Tutoriel Android. Pour démarrer la programmation d'applications Android

Tutoriel Android. Pour démarrer la programmation d'applications Android Tutoriel Android Pour démarrer la programmation d'applications Android Remarque préalable Comme il est impossible de traiter tous les aspects d'android, seulement quelques uns seront présentés. De plus

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Guide utilisateur de l application messagerie vocale visuelle pour smartphone

Guide utilisateur de l application messagerie vocale visuelle pour smartphone Guide utilisateur de l application messagerie vocale visuelle pour smartphone Sommaire 1. Informations générales 2. Ecoute d un nouveau message 3. Sauvegarde d un message 4. Rappel d un contact 5. Informations

Plus en détail

Table des matières. Partie I Concepts de base... 1. Préface... VII

Table des matières. Partie I Concepts de base... 1. Préface... VII Table des matières Préface... VII Partie I Concepts de base... 1 1. Tour d horizon... 3 Avantages et inconvénients de la programmation des smartphones... 3 Contenu d un programme Android... 4 Fonctionnalités

Plus en détail

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Développement sous Android

Développement sous Android Développement sous Android Chapitres traités Architecture générale d'android Android est une plateforme ouverte pour le développement de mobiles (smartphones). C'est la première plateforme pour appareils

Plus en détail

De Java à Android version 0.1

De Java à Android version 0.1 De Java à Android version 0.1 David Roche De Java à Andoid 1 Ce document est publié sous licence Creative Commons Vous êtes libres : de reproduire, distribuer et communiquer cette création au public de

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

Tutoriel Android - TP de prise en main

Tutoriel Android - TP de prise en main Tutoriel Android - TP de prise en main To cite this version:. Tutoriel Android - TP de prise en main. École d ingénieur. France. 2014, pp.51. HAL Id: cel-01082588 https://hal.archives-ouvertes.fr/cel-01082588v2

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Développement Android. J.-F. Couchot

Développement Android. J.-F. Couchot Développement Android J.-F. Couchot 12 novembre 2012 Table des matières 1 Introduction à l OS embarqué Android 3 I Composants principaux d une application................................ 3 I.1 Une activité............................................

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

Développement d applications professionnelles avec Android 2

Développement d applications professionnelles avec Android 2 Développement d applications professionnelles avec Android 2 Reto Meier Traduit par Dalil Djidel, avec la contribution technique d Arnaud Farine Pearson Education France a apporté le plus grand soin à

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique Mémoire de fin d études pour l obtention du diplôme de Licence en Informatique

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

7 Développement d une application de MapReduce

7 Développement d une application de MapReduce 7 Développement d une application de MapReduce Ecrire un programme d Hadoop demande un processus : écrire une fonction map, une fonction reduce et tester localement. Ecrire ensuite un programme pour lancer

Plus en détail

Bases de données et fournisseurs de contenu

Bases de données et fournisseurs de contenu 8 Bases de données et fournisseurs de contenu Au sommaire de ce chapitre : Créer des bases de données et utiliser SQLite Utiliser les fournisseurs de contenu, les curseurs et les content values pour stocker,

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5) #45 #46 WiFi Security Camera Quick Start Guide Guide de départ rapide Caméra de surveillance Wi-Fi (P5) #47 Start Here 1 Is this you? TECH SUPPORT CTRL ALT DEL 2 If yes, turn to page three 1 3 If not,

Plus en détail

CTIconnect PRO. Guide Rapide

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

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android Applications Java sous Android IvMad, 2011-2014 2 APPLICATIONS JAVA Android Partie I 1. Android Développement d'activités Java sous Android L'objectif principal de ce cours est de découvrir la programmation

Plus en détail

Une introduction à la technologie EJB (2/3)

Une introduction à la technologie EJB (2/3) Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce

Plus en détail

Construire une application marketing Facebook sur la plateforme Windows Azure

Construire une application marketing Facebook sur la plateforme Windows Azure Construire une application marketing Facebook sur la plateforme Windows Azure Lorsque le «Social Effect» est au rendez-vous, comment s assurer que votre application va supporter la montée en charge? Nous

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

Twixl Portfolio DE INDESIGN VERS LES TABLETTES. Luk Dhondt - Product Manager

Twixl Portfolio DE INDESIGN VERS LES TABLETTES. Luk Dhondt - Product Manager Twixl Portfolio DE INDESIGN VERS LES TABLETTES Luk Dhondt - Product Manager Agenda A propos des apps Vue d ensemble du produit Options de distribution SDK Q & R Content apps Types d applications Single-issue

Plus en détail

Wireless IP Camera 75790, 75790WH, 75791 Quick Start Guide Guide de départ rapide

Wireless IP Camera 75790, 75790WH, 75791 Quick Start Guide Guide de départ rapide Wireless IP Camera 75790, 75790WH, 75791 Quick Start Guide Guide de départ rapide 1 Is this you? Start Here TECH SUPPORT CTRL ALT DEL 2 If yes, skip to advanced setup. 3 If not, write down the following:

Plus en détail

Microsoft Windows XP. Movie Maker 2

Microsoft Windows XP. Movie Maker 2 Microsoft Windows XP Movie Maker 2 CSEM Services pédagogiques Démarrage: Pour démarrer Movie Maker 2, suivre les étapes suivantes: 1. Cliquer sur le bouton Start. 2. Sélectionner Programs. 3. Cliquer surwindows

Plus en détail