Chapitre 4. Le modèle de composants : les services

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Chapitre 4. Le modèle de composants : les services"

Transcription

1 Chapitre 4 Le modèle de composants : les services 1

2 Les services "A Service is an application component that can perform long-running operations in the background and does not provide a user interface." Un service continue son exécution même si l'utilisateur change d'application Il peut être lié à plusieurs applications Il y a deux types de service : "started" (= démarré ou unbounded = non lié), lancés par startservice(). Un tel service, après avoir été lancé, est exécuté indéfiniment tant qu'il n'a pas fini son travail (même si le composant qui l'a lancé est détruit) "bound" (= liés), lancés par bindservice(). Un tel service interagit avec d'autres composants. Il est détruit lorsque tous les composants qui lui sont associés ont annulé leur association avec lui sauf s'il est aussi started donc... Un service peut à la fois être démarré par le composant d'une application est lié à d'autres source : 2 tml

3 Service vs. thread Un service est en arrière plan des actions utilisateur, pas des threads (*). C'est à dire qu'il n'y a pas de création de thread, ni de processus lorsqu'un service est lancé et il s'exécute dans la thread qui lui a donné naissance On doit donc créer une thread pour ne pas être bloquant Et donc à quoi sert un service?! Avoir un service plutôt qu'une thread dans une application augmente la priorité de l'application et a donc ainsi moins de chance d'être détruite par l'environnement. Voir à On peut lier un service à d'autres composants de l'application, voire à d'autres applications : cf. la suite de cet exposé Il est géré par l'environnement d'exécution et par exemple, en cas d'arrêt de l'application, si le service est demandé, il peut être relancé automatiquement par l'environnement d'exécution (*) 3

4 Cycle de vie d'un service L'automate d'états-transitions d'un service est linéaire donc simple! Il y a évidemment deux sortes d'automates : un pour les services non liés, l'autre pour les services liés Les méthodes onstartcommand(), onbind(), onunbind() ne sont appelées que dans un des cas Les méthodes oncreate(), ondestroy() sont toujours appelées 4

5 Création d'un service : précisions Les méthodes startservice() et bindservice() sont des méthodes de la classe (abstraite) Context qu'on trouve donc dans les classes dérivées Service, Activity pas ContentProvider ni BroadcastReceiver startservice(), signé public abstract ComponentName startservice (Intent is) permet de lancer un service "started" et de le créer si ce n'est déjà fait. La méthode onstartcommand() du service est chaque fois exécutée mais la méthode oncreate() du service n'est exécutée qu'une seule fois à la création du service bindservice(), signée public abstract boolean bindservice (Intent is, ServiceConnection conn, int flags) permet de lier l'application au service et de le créer si ce n'est déjà fait Remarque : startservice() a un seul argument (l'intent) alors que bindservice() en a 3 (dont l'intent) 5

6 Arrêter un service Un service non lié (i.e. lancé par startservice()) peut être arrêté : si le service lui-même lance sa méthode stopself() en lançant la méthode stopservice(intent IDuService) de la classe Context sur ce service. IDuService est un Intent décrivant le service à arrêter. Si ce service est lié à aucun autre composant, il sera arrêté quel que soit le nombre d'appels startservice() qui ont été exécutés le service a fini son travail Un service lié (i.e. lancé par bindservice()) est exécuté tant qu'au moins un composant avec lequel il est lié est vivant (= non détruit). Ce service ne peut être arrêté que lorsque tous les composants liés à lui sont détruits 6

7 Déclarer un service Un service doit être déclaré dans l'androidmanifest.xml comme fils de la balise application <manifest... >... <application... > <service android:name=".exampleservice" />... </application> </manifest> Remarque : si le service n'est pas déclaré dans le manifest, il n'y a (évidemment) pas d'erreur à la compilation mais il n'y aussi pas d'erreur à l'exécution : rien ne se passe! 7

8 onstartcommand() d'un service "started" La méthode int onstartcommand(intent intent, int flags, int startid) que lance le service a pour arguments : intent est l'intent qui a été passé à startservice(), flags est un indicateur précisant comment le lancement précédent de ce service s'est terminé, startid est un id précisant cette requête L'entier retourné (qui peut être START_STICKY ou START_NOT_STICKY) est utile pour gérer la création du service s'il a été détruit lors de son exécution précédente alors qu'il n'avait pas fini de s'exécuter Rappel : en général, un service est lancé dans la thread principale de l'application qui l'accueille. Donc il est conseillé de lancer un service dans une thread créée par le programmeur : on peut utiliser Handler ou AsyncTask 8

9 Démos sur les services locaux Une démo, OK! Demo Ch4ServiceLocalHorlogeProjet 9

10 Service bloquant, non bloquant Comme indiqué, si la méthode int onstartcommand(intent intent, int flags, int startid) est codée sans création de thread, l'application risque d'être bloquée Demo Ch4ServiceLocalHorlogeProjet, clic sur le bouton "Lance un service bloquant" donne : Il faut donc écrire cette méthode plutôt comme : public int onstartcommand(intent intent, int flags, int startid) { new Thread(new Runnable() { public void run() { while (lecompteur < ) { try { lecompteur++; Thread.sleep(1000); } catch (InterruptedException e) { e.printstacktrace(); } } } }).start(); return Service.START_STICKY; } Démo : clic sur "Lance un service de comptage" 10

11 Récupérer les travaux d'un service "started" L'architecture est généralement : on lance le service started celui ci informe un BroadcastReceiver lorsque le travail est fait Le BroadcastReceiver informe que le travail a été fait Bibliographie : 11

12 Lancer un service started : le code C'est aussi simple que lancer une activité! Context lecontexte = getapplicationcontext(); Intent i = new Intent(leContexte, ClasseDuService.class); lecontexte.startservice(i); On utilise la méthode startservice() qui a un seul argument, l'intent (comme startactivity()) Remarque : En fait la méthode startservice() utilisée ici est celle de la classe Context alors que la méthode startactivity() utilisée pour lancer les activités est celle de la classe Activity, pas de la classe Context (n'est pas Jean-marc!) 12

13 Service "lié" local ou distant Définition 1 : Un composant Android peut être lié à un service s'exécutant dans la même application. Un tel service est dit local (local service) Définition 2 : Un composant Android peut être lié à un service s'exécutant dans une autre application (un autre process). Un tel service est dit distant (remote service) Pour être lié à un service local, l'utilisation de Binder suffit Pour être lié à un service distant, il faut utiliser les Messenger ou AIDL Seuls une activité, un service et un content provider peuvent être des composants liés à un service, pas un broadcast receiver Voir à 13

14 Service "lié" local : le Binder Le service auquel on doit être lié, doit retourner ce qui permettra d'être lié à lui : un Binder Ce Binder (spécifié par l'interface IBinder) sera retourné par la méthode public IBinder onbind(intent intent) du service La classe Service (classe mère de tout service) possède cette méthode onbind() abstraite... qu'il faut donc toujours implémenter dans un service! 14

15 La liaison Binder, ServiceConnection L'association à un service est lancé par bindservice(). C'est un processus asynchrone bindservice() n'est pas bloquant et ne retourne pas un IBinder mais un boolean valant true si l'association a été faite bindservice() avertit le service, qui lance sa méthode onbind() qui retourne alors le Binder ce Binder est passé au gestionnaire de connexion (un ServiceConnection) qui lance sa méthode onserviceconnected() avec ce Binder comme argument En général cette méthode onserviceconnected() initialise des champs de la classe englobante => la classe qui implémente ServiceConnection et interne à la classe qui veut être liée au service 15

16 Service "lié" local : l'enchaînement des appels La suite des appels lors du bind est donc : On a évidemment une suite d'appels similaire pour le onunbind(intent i) : seules les méthodes changent 16

17 Conclusion sur l'enchaînement des appels La méthode bindservice() (de la classe Context) est en fait signée public abstract boolean bindservice (Intent intent, ServiceConnection conn, int flags) L'appel bindservice() fait par le client est donc bindservice(intent, leserviceconnection, drapeau); Dans intent il y a le service auquel on veut être lié. L'environnement construit une instance de ce service, puis lance la méthode onbind() sur cette instance qui retourne un objet lebinder L'objet leserviceconnection (2ième argument de bindservice()) lance alors sa méthode onserviceconnected() avec l'objet lebinder ci dessus comme second argument Dans l'objet lebinder, il y a ce qu'il faut pour utiliser le service (c'est le service qui l'a créé!) Et voilà comment le client et le serveur sont liés 17

18 Le ServiceConnection Donc on doit aussi construire un gestionnaire de service implémentant l'interface android.content.serviceconnection et donc donner un corps aux deux méthodes void onserviceconnected(componentname name, IBinder service) et void onservicedisconnected(componentname name) spécifié dans l'interface Ce ServiceConnection est passé comme argument de bindservice() 18

19 Démo de service lié local Voir projet ServiceLocalHorlogeProjet, bouton "Lance un service de comptage" Cliquer sur bouton "change d'activité" Dans la nouvelle activité, cliquer le bouton de "liaison au service local" puis le bouton "valeur du service local" 19

20 Services liés distants On veut désormais atteindre un service d'une application à partir d'une autre application On est sur le même smartphone mais on parle de service... distant! Bon il est vrai que ce sont deux processus distincts (mais deux DVM) Un première solution utilise les messagers (Messager, Message,...) Une seconde solution utilise une technologie générale d'accès aux technologies distantes (cf. CORBA,...) : c'est AIDL 20

21 Services liés distants : les messagers Dans cette technologie, on utilise les notions de messagers (Messenger), messages (Message), thread gestionnaire d'envoi de message (Handler) Et évidemment de service (Service), d'objet pour la liaison (IBinder), de gestionnaire de connexion (ServiceConnection) 21

22 AIDL (Android Interface Definition Language) La seconde solution pour interroger un service "distant" est d'utiliser une technologie générale d'accès aux technologies distantes (cf. CORBA,...) Il faut donc d'abord spécifier dans un langage générique ce qui est peut être proposé (par un serveur), c'est à dire ce qu'on peut utilisé (par un client). Ce type de langage est un IDL (Interface Definition Langage) Pour Android ce langage de spécification est AIDL 22

23 Spécification AIDL On veut construire une application qui lance un compteur puis interroger cette application Les spécifications en AIDL sont : package android.jmf.servicedistantaidlspecification; interface IServiceDeCompteur { long getcompteur(); } C'est le fichier IServiceDeCompteur.aidl à ranger sous src dans le paquetage android.jmf.servicedistantaidlspecification Remarque : les fichier aidl ont un nom de la forme XXX.aidl, sont mis dans un paquetage p.sp et commence par la ligne package p.sp; 23

24 Spécification AIDL : traduction en Java Automatiquement, l'environnement de dévelopement construit la traduction de ce fichier en Java. Evidemment une interface : package android.jmf.servicedistantaidlspecification; public interface IServiceDeCompteur extends android.os.iinterface { /** Local-side IPC implementation stub class. */ public static abstract class Stub extends android.os.binder implements android.jmf.servicedistantaidlspecification.iservicedecompteur {... Remarque 1 : C'est le fichier IServiceDeCompteur.java rangé sous gen dans le paquetage android.jmf.servicedistantaidlspecification Remarque 2 : En général, c'est le fichier XXX.java rangé sous gen dans dans le paquetage p.sp Remarque 3 : ce fichier est automatiquement généré (cf. première ligne) et il ne faut pas le changer. Même si l'indentation déplait! 24

25 L'interface générée Remarque 4 : l'interface possède une classe interne (statique abstraite) Stub qui dérive de Binder (et qui contient du code!) : si, c'est possible! Donc le Binder est en grande partie créé. Cela explique l'utilisation de l'architecture AIDL 25

26 Le service distant (1/2) Il est similaire à un service local : il dérive de android.app.service on doit construire le Binder qui sera retourné par onbind() évidemment la classe IServiceDeCompteur.Stub nous aide. Il suffit de dériver de cette classe et d'implémenter les méthodes utiles pour le client D'où le service distant : public class ServiceDeCompteurAIDL extends Service { private long mlecompteurnonstatic = 0; private final IServiceDeCompteur.Stub mbinder = new IServiceDeCompteur.Stub() { public long getcompteur() { return mlecompteurnonstatic; } public IBinder onbind(intent arg0) { // TODO Auto-generated method stub return mbinder; }... // Suite diapositive suivante 26

27 Le service distant (2/2) Son service de compteur est similaire au service local précédent public int onstartcommand(intent intent, int flags, int startid) { new Thread(new Runnable() { public void run() { while (mlecompteurnonstatic < ) { try { mlecompteurnonstatic++; Thread.sleep(1000); } catch (InterruptedException e) { e.printstacktrace(); } } } }).start(); return Service.START_STICKY; } 27

28 Déclaration du service distant dans son AndroidManifest.xml Evidemment, il faut déclarer le service dans l'androidmanifest.xml La déclaration doit être : <service android:name=".servicedecompteuraidl" > <intent-filter> <action android:name="android.jmf.servicedistantaidlspecification.iservicedecompteur" /> </intent-filter> </service> Il faut indiquer que ce service pourra être lancé par des Intent (implicites) qui demande l'action android.jmf.servicedistantaidlspecification.iservicedec ompteur. Ce sera le cas d'une application externe (un client) qui ne connaît pas exactement la classe du service (sinon il le dirait et utiliserait un Intent explicite) mais seulement son interface android.jmf.servicedistantaidlspecification.iservicedec ompteur (associé à l'action de même nom) 28

29 L'application cliente L'application cliente est une autre application qui va demander ce service de comptage Il lui faut les spécifications de ce service c'est à dire le fichier IServiceDeCompteur.aidl à copier dans son paquetage android.jmf.servicedistantaidlspecification L'environnement de développement construit le fichier IServiceDeCompteur.java qu'il va ranger sous gen dans le paquetage android.jmf.servicedistantaidlspecification On a alors : 29

30 L'application cliente : le code Pour être lié au service distant, il suffit d'écrire (comme d'habitude) : On a besoin d'un ServiceConnection qui est : IServiceDeCompteur étant l'interface android.jmf.servicedistantaidlspecification.iservicedecompte ur Context lecontexte = getapplicationcontext(); Intent i = new Intent(IServiceDeCompteur.class.getName()); lecontexte.bindservice(i, mconnection, Context.BIND_AUTO_CREATE); private IServiceDeCompteur miservicedecompteur; private ServiceConnection mconnection = new ServiceConnection() { public void onserviceconnected(componentname classname, IBinder service) { miservicedecompteur = IServiceDeCompteur.Stub.asInterface(service); } public void onservicedisconnected(componentname classname) { miservicedecompteur = null; } }; 30

31 Service distant : une démo Ayant repéré le service distant par miservicedecompteur, on peut récupérer les valeurs du compteur par : Démo : miservicedecompteur.getcompteur(); On lance le service distant : projet ServiceDistantAIDLServeurProjet. Au lancement de cette applilcation, le serveur est mis en route (voir les Log) On lance le client : projet ServiceDistantAIDLClientProjet. Faire l'association puis le relevé du compteur 31

32 Bibliographie sur les services p/service.html sur AIDL : l.html 32

33 Fin 33

Interface De Service AIDL. Android Interface Definition Language

Interface De Service AIDL. Android Interface Definition Language Client Interface De Service Serviteur AIDL Android Interface Definition Language Client Serviteur Service Process Process IPC IPC Inter Process Communication... mais sur une même machine. pas entre plusieurs

Plus en détail

Android les Services, Receiver et processus

Android les Services, Receiver et processus Android les Services, Receiver et processus jean-michel Douin, douin au cnam point fr version : 10 Octobre 2012 Notes de cours 1 Services Cycle de vie création, démarrage et arrêt Sommaire Service local

Plus en détail

Chapitre 2 Cycle de vie d une application

Chapitre 2 Cycle de vie d une application Chapitre 2 : Cycle de vie d une application 20 Chapitre 2 Cycle de vie d une application Chapitre 2 : Cycle de vie d une application 21 Une application Android est composée d un ensemble de 4 éléments

Plus en détail

Chapitre 2 Cycle de vie d une application

Chapitre 2 Cycle de vie d une application Chapitre 2 : Cycle de vie d une application 20 Chapitre 2 Cycle de vie d une application Chapitre 2 : Cycle de vie d une application 21 Une application Android est composée d un ensemble de 4 éléments

Plus en détail

Programmation de composant mobiles aka Android

Programmation de composant mobiles aka Android Programmation de composant mobiles aka Android Wies law Zielonka 10 décembre 2015 Toolbar Toolbar remplace Actionbar (Android 5.0 Lollipop) Dans AndroidManifest.xml utiliser un thème sans ActionBar : 1

Plus en détail

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

Article complet: Utiliser les services sous Android

Article complet: Utiliser les services sous Android Page 1 of 12 Forums Tutoriels Magazine FAQs Blogs Projets Chat Newsletter Études Emploi Club Contacts Accueil Conception Java.NET Dév. Web EDI Langages SGBD Office Solutions d'entreprise Applications Systèmes

Plus en détail

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les threads Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Présentation du problème Revenons quelques instants à nos animaux.

Plus en détail

Objets distribués et Appel de Méthodes à Distance 2009-2010

Objets distribués et Appel de Méthodes à Distance 2009-2010 Objets distribués et Appel de Méthodes à Distance 2009-2010 1 Objectif : construire une application où différents modules peuvent être situés sur des machines différentes, en utilisant un modèle à objets

Plus en détail

Programmation multitâches avec les Threads

Programmation multitâches avec les Threads Programmation multitâches avec les Threads A. Introduction A.1. Programmation multitâche Tous les systèmes d'exploitation actuels ont la possibilité d'effectuer plusieurs tâches en simultané. En effet,

Plus en détail

PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA

PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA WWW.IRIF.UNIV-PARIS-DIDEROT.FR/~ZIELONKA Services Service est une classe enveloppe qui sert à implémenter des différents service. D'habitude

Plus en détail

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

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

ED : Construction d'interfaces graphiques en Java

ED : Construction d'interfaces graphiques en Java ED : Construction d'interfaces graphiques en Java Le but de cet exercice est d'écrire un code Java de la construction de l'interface graphique et de la réaction des actions de l'utilisateur sur une application

Plus en détail

JAVA - Compléments du cours 9

JAVA - Compléments du cours 9 JAVA - Compléments du cours 9 Nicolas Baudru Année 2008-2009 Exercice 1 (Création de threads) En Java, il existe deux méthodes pour créer des threads. La première étend la classe Thread : class MonThread

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

TP 2 JAVA. public class test1{ public static void main(string arg[]){ code du programme }// main }// class

TP 2 JAVA. public class test1{ public static void main(string arg[]){ code du programme }// main }// class TP 2 JAVA La structure d'un programme Java Un programme Java n'utilisant pas de classe définie par l'utilisateur ni de fonctions autres que la fonction principale main pourra avoir la structure suivante

Plus en détail

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP Chapitre 9 Dans ce chapitre nous abordons le mécanisme RMI (Remote Method Invocation) permettant le développe ment des systèmes répartis. Nous expliquerons comment les classes d un serveur peuvent être

Plus en détail

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 NSY102-Chapitre-11_Synthese.doc 1/12 06/01/2014 21:48:04 Chapitre 11 Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 2. OBSERVER/OBSERVABLE 3 2.1. DEFINITION 3 2.2. REFERENCES

Plus en détail

Programmation de composant mobiles aka Android

Programmation de composant mobiles aka Android Programmation de composant mobiles aka Android Wies law Zielonka November 5, 2015 Connexion internet (HTTP) Créer un URL : 1 S t r i n g s = ( ( E d i t T e x t ) f i n d V i e w B y I d (R. i d. e d i

Plus en détail

CORBA. Cycle de développement

CORBA. Cycle de développement CORBA Cycle de développement Projet MIAGe Toulouse Groupe 2 1 Le cycle de développement (1/3) On s intéresse au développement selon le mode statique, c est à dire en utilisant les talons (stub, skeleton,

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

Tests unitaires avec Visual Studio

Tests unitaires avec Visual Studio Tests unitaires avec Visual Studio (source MSDN) Rappels (initiation aux tests unitaires SI6 Tp6) Les tests unitaires offrent aux développeurs une méthode rapide pour rechercher des erreurs de logique

Plus en détail

Notions de programmation orientée objet

Notions de programmation orientée objet 1 Génie Logiciel Notions de programmation orientée objet Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 19/04/2007 2 Les données d'abord (1) Important résultat de l'expérience : Le plus souvent,

Plus en détail

Tutoriel Android Communication entre services BroadCast Receiver Romain Raveaux

Tutoriel Android Communication entre services BroadCast Receiver Romain Raveaux Tutoriel Android Communication entre services BroadCast Receiver Romain Raveaux Préambule... 1 Prérequis... 2 Architecture... 3 Envoi d un message au ServiceS1... 5 Mise en œuvre... 6 Modification du Manifest...

Plus en détail

Les Services. http://developer.android.com/guide/topics/fundamentals/services.html http://developer.android.com/reference/android/app/service.

Les Services. http://developer.android.com/guide/topics/fundamentals/services.html http://developer.android.com/reference/android/app/service. http://developer.android.com/guide/topics/fundamentals/services.html http://developer.android.com/reference/android/app/service.html Service = Composant applicatif qui : Fonctionne en arrière plan Peut

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

Animation «PACMAN» Android 2D. Groupe Entreprenant et Innovateur. France. Tutoriel. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach.

Animation «PACMAN» Android 2D. Groupe Entreprenant et Innovateur. France. Tutoriel. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach. Groupe Entreprenant et Innovateur France Tutoriel 6 Animation «PACMAN» Android 2D Cours Programmation Mobile Coach Arón HERRERA PONTE E-mail teaching@atipaxinti.comatipaxinti.com - 2011 - SOMMAIRE 1. Introduction...

Plus en détail

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

TD Objets distribués : Introduction à.net Remoting

TD Objets distribués : Introduction à.net Remoting IUT Bordeaux 1 2008-2009 Département Informatique Licence Professionnelle ~ SI TD Objets distribués : Introduction à.net Remoting Vous mettrez en œuvre votre première application en.net remoting. Les sources

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr 1 Plan Principes généraux Modèle

Plus en détail

Lecture de variable automate en utilisant le service web de l ETZ (application J2SE)

Lecture de variable automate en utilisant le service web de l ETZ (application J2SE) Lecture de variable automate en utilisant le service web de l ETZ (application J2SE) Sommaire 1. Objectifs...2 2. Création d un nouveau projet J2SE...2 3. Intégration du client Web Service...5 3.1. Description

Plus en détail

Programmation Réseau. API Java TCP. Jean-Baptiste.Yunes@univ-paris-diderot.fr. ! UFR Informatique ! 2013-2014

Programmation Réseau. API Java TCP. Jean-Baptiste.Yunes@univ-paris-diderot.fr. ! UFR Informatique ! 2013-2014 Programmation Réseau API Java TCP Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2013-2014 Les flux réseau en Java pré-requis : utiliser correctement les classes d entrées-sorties Java (package

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule.

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule. TP Mock Pour faire ce TP il faut récupérer la "bibliothèque" mockito-all-x.x.x.jar. Vous pouvez la trouver à partir de https://code.google.com/p/mockito/downloads/list (pour mockito- 1.9.5.zip). Anciennement

Plus en détail

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

Plus en détail

TP JUnit 4.12. Première partie Le premier test d'une classe

TP JUnit 4.12. Première partie Le premier test d'une classe TP JUnit 4.12 Récupérez les deux fichiers junit.jar et hamcrest-core.jar à partir de l'url https://github.com/junit-team/junit/wiki/download-and-install (plus précisément à partir de l'url http://junit.org).

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr Remerciements Michel Riveill 1

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

PROCEDURE (v: Véhicule) Coût* (nbpass: INTEGER; dist: REAL): REAL, NEW, ABSTRACT;

PROCEDURE (v: Véhicule) Coût* (nbpass: INTEGER; dist: REAL): REAL, NEW, ABSTRACT; MODULE TransportsAbstrait; TYPE Véhicule = POINTER TO ABSTRACT RECORD prix: REAL; nbpassmax: INTEGER ChoseTransportée =POINTER TO ABSTRACT RECORD poids: REAL; ident: ARRAY 81 OF CHAR PROCEDURE (v: Véhicule)

Plus en détail

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 TP Java RMI Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Paradigme RMI RMI (Remote Method Invocation) RPC orientés objet (encapsulation, héritage,...) objet :

Plus en détail

Cours 4. - Créer des animations : la classe Thread et l'interface Runnable - Quelques composants supplémentaires : le choix dans une liste

Cours 4. - Créer des animations : la classe Thread et l'interface Runnable - Quelques composants supplémentaires : le choix dans une liste Cours 4 - Créer des animations : la classe Thread et l'interface Runnable - Quelques composants supplémentaires : le choix dans une liste JComboBox et JList F. Gayral 1 Rappel : multi-tâches multi-tâches

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM Utilisation de GCM (Google Cloud Messaging) pour Android Ce TP est inspiré de : http://android.amolgupta.in/2012/07/google-cloud-messaging-gcm-tutorial.html On va écrire deux parties. Une application Android

Plus en détail

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException...

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... Cours 12 Les exceptions vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... F.Gayral 1 Les exceptions, vous connaissez... public class

Plus en détail

Introduction à Android. Jean-Marc Lecarpentier Université de Caen

Introduction à Android. Jean-Marc Lecarpentier Université de Caen Introduction à Android Jean-Marc Lecarpentier Université de Caen Android Environnement de développement Basé sur noyau Linux Applications en Java Architecture spécifique Java VM adaptée aux terminaux mobiles

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

Chapitre 6 Héritage en Java

Chapitre 6 Héritage en Java Chapitre 6: Héritage 1/12 Chapitre 6 Héritage en Java Chapitre 6: Héritage 2/12 1. Généralités L'héritage est le troisième des paradigmes de la programmation orientée objet (le 1 er étant l'encapsulation,

Plus en détail

Modèle spagetthi et solution EAI

Modèle spagetthi et solution EAI EAI Définition L'EAI est une notion ancienne mais toujours d'actualité. En effet, le besoin de faire communiquer des applications développées à des moments différents, dans des technologies différentes

Plus en détail

Le mécanisme d exception du langage Java

Le mécanisme d exception du langage Java Le mécanisme d exception du langage Java 1 / 39 Plan 1 Introduction aux exceptions en Java 2 Exemples de code avec gestion des exceptions 3 Créer ses propres exceptions 4 Instruction try/catch/finally

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

MODULE TransportsAbstrait; TYPE Véhicule* = POINTER TO ABSTRACT RECORD prix*: REAL; nbpassmax*: INTEGER END;

MODULE TransportsAbstrait; TYPE Véhicule* = POINTER TO ABSTRACT RECORD prix*: REAL; nbpassmax*: INTEGER END; MODULE TransportsAbstrait; Véhicule = POINTER TO ABSTRACT RECORD prix: REAL; nbpassmax: INTEGER ChoseTransportée =POINTER TO ABSTRACT RECORD poids: REAL; ident: ARRAY 81 OF CHAR PROCEDURE (v: Véhicule)

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

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

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1 CHAPITRE 1 FOURNIR À L'UTILISATEUR UNE MACHINE VIRTUELLE ET UN ENVIRONNEMENT D'EXÉCUTION DE PROGRAMMES Plan ENVIRONNEMENT DE TRAVAIL ADAPTÉ AU BESOIN DE L'UTILISATEUR Fonctions de l'environnement d'exécution

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

TP2 : Initiation à la Programmation avec Android

TP2 : Initiation à la Programmation avec Android TP2 : Initiation à la Programmation avec Android 1 TP2 : Initiation à la Programmation avec Android Programmation Mobile Objectifs du TP Ce TP est une initiation à Android. Nous allons réaliser les premiers

Plus en détail

Examen du 27 Juin 2002

Examen du 27 Juin 2002 Les exercices de cet examen portent tous sur le système RMI de Java. La consultation de documents (supports de cours, livres, etc.) est autorisée. L interaction avec les autres candidats n est pas autorisée!

Plus en détail

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip.

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip. TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

TPC#9 : Client & Serveur!

TPC#9 : Client & Serveur! TPC#9 : Client & Serveur! Table des matières 1 Structure du rendu 1 2 Introduction 2 3 Sockets et Threads 2 3.1 Les sockets............................................ 2 3.1.1 Cours et exemples....................................

Plus en détail

Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7

Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7 Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7 Installation du service IIS Fermer toutes les applications ouvertes (par précaution) Ouvrir le panneau de configuration, Programmes,

Plus en détail

Gestion des données avec SQLite sous Android

Gestion des données avec SQLite sous Android Gestion des données avec SQLite sous Android La base de données SQLite SQLite est une base de données Open Source embarquée dans le système Android. SQLite supporte les types suivants : NULL : valeur non

Plus en détail

Projet Système Distribué : Implémentation d'un serveur générateur de certicats. BEUQUE Eric, CORNEVAUX Sébastien, MOUTENET Cyril 13 janvier 2009

Projet Système Distribué : Implémentation d'un serveur générateur de certicats. BEUQUE Eric, CORNEVAUX Sébastien, MOUTENET Cyril 13 janvier 2009 Projet Système Distribué : Implémentation d'un serveur générateur de certicats BEUQUE Eric, CORNEVAUX Sébastien, MOUTENET Cyril 13 janvier 2009 1 Table des matières 1 Sujet 3 2 Analyse 4 3 Création clé

Plus en détail

Création d un squelette d application

Création d un squelette d application 3 Création d un squelette d application Tous les livres consacrés à un langage ou à un environnement de programmation commencent par présenter un programme de démonstration de type "Bonjour à tous!" :

Plus en détail

Utiliser les services sous Android Romain Raveaux Polytech Tours

Utiliser les services sous Android Romain Raveaux Polytech Tours Utiliser les services sous Android Romain Raveaux Polytech Tours 1 ) Objectif...2 2 ) Création de l interface graphique...3 a )La vue graphique...3 b ) Les composants graphiques...3 c ) Les événements...4

Plus en détail

Android Intents. this, ActivityTwo.class. Un Intent implicite spécifie l action à exécuter et une URI optionnelle qui sera utilisée par cette action.

Android Intents. this, ActivityTwo.class. Un Intent implicite spécifie l action à exécuter et une URI optionnelle qui sera utilisée par cette action. Android Intents I. Intents 1. Intent explicite Un Intent explicite défini explicitement le composant qui doit être appelé par le système Android, en utilisant la classe Java comme identifiant. Exemple

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

TP n 4 - Quiz. 1) Création du projet. 2) Construction de la page d accueil. Pratique d Android

TP n 4 - Quiz. 1) Création du projet. 2) Construction de la page d accueil. Pratique d Android TP n 4 - Quiz 1) Création du projet L objectif ici est de construire une application Android proposant un Quiz sur des noms de films et d'acteurs à retrouver en fonction du nom du rôle du personnage. Créer

Plus en détail

TP Android Les Intents avec passage de données

TP Android Les Intents avec passage de données TP Android Les Intents avec passage de données Romain Raveaux Polytech Tours Dans le TP précédent, nous avons vu comment démarrer une nouvelle fenêtre par le biais d une action sur un bouton posé sur une

Plus en détail

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge Arité variable, énumérations Théorie et pratique de la programmation Michel Schinz 2013-05-13 Arité variable 1 2 Arité des méthodes Utilisation de la surcharge Il est parfois utile d'offrir des méthodes

Plus en détail

NFP121 janvier de l'an 8. MultiThreading. Thread versus Processus. Processus

NFP121 janvier de l'an 8. MultiThreading. Thread versus Processus. Processus janvier de l'an 8 MultiThreading Thread versus Processus Processus simple Code Data File Processus Multithreadé Code Data File Registers Stack Registers Stack Registers Stack Processus possède un espace

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Un chat en C# Extrait de Wikipédia

Un chat en C# Extrait de Wikipédia Un chat en C# Un chat utilise un mécanisme de communication entre deux applications distantes. Il existe plusieurs solutions pour faire communiquer deux applications ; nous allons, ici, utiliser le protocole

Plus en détail

Contrôle des transactions

Contrôle des transactions Note technique W4 Engine Contrôle des transactions Cette note technique décrit le contrôle des transactions par les applications utilisant le serveur W4 Engine. Versions de W4 Engine concernées : 6.0 et

Plus en détail

Externaliser les données des tests. Première partie : Une classe à tester

Externaliser les données des tests. Première partie : Une classe à tester Externaliser les données des tests Jusqu'alors, on avait créé des classes de tests pour tester les classes du projet à développer. Ces classes de tests contenaient les programmes de tests avec leurs données.

Plus en détail

Chapitre 4. Le modèle de composants

Chapitre 4. Le modèle de composants Chapitre 4 Le modèle de composants 1 Plan du chapitre 4 Les composants fondamentaux : Activity, Service, BroadcastReceiver, ContentProvider Les activités (cycle de vie, navigation entre les activités,

Plus en détail

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales:

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales: Plan Conseils de Programmation Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Types et classes Un exemple de classe Les erreurs en Java L héritage en Java Types primitifs Tableaux Classes:

Plus en détail

Programmation concurrente en java

Programmation concurrente en java Programmation concurrente en java M. Belguidoum Université Mentouri de Constantine Département Informatique M. Belguidoum (UMC) Programmation concurrente 1 / 29 Plan 1 Introduction 2 Création d'un thread

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

TP1 : Traducteur «Français-Anglais»

TP1 : Traducteur «Français-Anglais» TP1 : Traducteur «Français-Anglais» Objectifs : créer deux activités, basculer entre activités, passer des paramètres entre activités, utiliser un service Internet pour faire réaliser une traduction, utiliser

Plus en détail

Documentation d implémentation de l application Android de jeu géolocalisé

Documentation d implémentation de l application Android de jeu géolocalisé Documentation d implémentation de l application Android de jeu géolocalisé Introduction Ce document décrit l implémentation de l application Android en précisant l organisation du code et les différentes

Plus en détail

La Gestion des Exceptions

La Gestion des Exceptions La Gestion des Exceptions Les exceptions Les exceptions représentent le mécanisme de gestion des erreurs intégré au langage Java. Il se compose d'objets représentant les erreurs et d'un ensemble de troismotsclésquipermettentdedétecteretdetraiterceserreurs(try,

Plus en détail

MANGUE Impression de données

MANGUE Impression de données MANGUE Impression de données 0. Préambule 1. Principe de Fonctionnement 2. Description des fichiers XML générés 2.1 DescriptionImpression.XML 2.2 Fichier XML généré 2.3 Exemples complets de balise et résultat

Plus en détail

Déclaration et Implémentation d'une classe

Déclaration et Implémentation d'une classe Définir et Instancier une classe en Java Déclaration et Implémentation d'une classe En algorithmique (comme en C++ la plupart du temps), l'écriture du corps des méthodes (implémentation) se fait après

Plus en détail

TP1 - Entreprise Java Beans

TP1 - Entreprise Java Beans TP1 - Entreprise Java Beans Réseaux Middlewares - Jules Chevalier 1 Configuration Minimale Pour ce TP, vous aurez besoin de outils suivants : Un JDK installé (le JRE est insuffisant) Un IDE édition Java

Plus en détail

Programmation de composant mobiles aka Android

Programmation de composant mobiles aka Android Programmation de composant mobiles aka Android responsable : Wies law Zielonka zielonka@liafa.univ-paris-diderot.fr http://liafa.univ-paris-diderot.fr/ zielonka September 19, 2015 Environnement de travail

Plus en détail

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector l tutorial Interfaces. l Stack

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T> Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Plan du cours 5:Threads

Plan du cours 5:Threads Plan du cours 5:Threads introduction Définition Création des Threads Gestion des priorités Synchronisation Page : 1 Introduction(1) Les structure de contrôle: If.. Else.. While Switch. Try..catch.. Offrent

Plus en détail

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl. UFR IEEA Licence info et GMI documentation COMPIL 2007-2008 FIL Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.fr 1 raccourci pour Java-Based Constructor of Useful Parsers est un

Plus en détail

Programmation Android Ce que vous devez savoir. Cours Android - F. Michel 1 / 18

Programmation Android Ce que vous devez savoir. Cours Android - F. Michel 1 / 18 Programmation Android Ce que vous devez savoir 1 / 18 Plan 1 Connaissances essentielles 2 Définition d une GUI et adaptation au contexte 3 L objet Intent 2 / 18 Connaissances essentielles Sur la plate-forme

Plus en détail

Examen terminal Architectures n-tiers : Intergiciels à objets et services web

Examen terminal Architectures n-tiers : Intergiciels à objets et services web GMIN20 - Juin 2013 Tous documents autorisés. Le barème est donné à titre indicatif. 1 Corba (5 points) Un fichier IDL vous est donné au listing 1. On vous donne aussi un fichier d implémentation au listing

Plus en détail

Programmation Réseau RMI. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! UFR Informatique

Programmation Réseau RMI. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! UFR Informatique Programmation Réseau RMI Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr UFR Informatique 2014 Les RMI de Java Les applications RMI sont des applications bâties sur

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

Systèmes distribués. Les Sockets

Systèmes distribués. Les Sockets Systèmes distribués Plusieurs technologies existent : Les sockets Les remote procedure call (RPC) Remote Method Invocation (RMI) Les Sockets L'utilisation des Sockets nécessite De gérer le codage et le

Plus en détail

Les tâches et la synchronisation en langage Java

Les tâches et la synchronisation en langage Java Les tâches et la synchronisation en langage Java Les threads, les verrous, les sémaphores et les moniteurs en Java D après les cours de D. Genthial et B. Caylux Langage Java Threads et synchronisation

Plus en détail