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

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

33 Fin 33

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

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

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

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

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

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

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

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

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

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

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

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

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

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

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

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations Projet Viticulture TP 3 : bases de données externes Description du thème Partie 1 : bases de données locales SQLite Partie 2 : projet H2O stockage local Partie 3 : bases de données distantes Partie 4 :

Plus en détail

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

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

DirXML License Auditing Tool version 1.1 - Guide de l'utilisateur

DirXML License Auditing Tool version 1.1 - Guide de l'utilisateur DirXML License Auditing Tool version 1.1 - Guide de l'utilisateur Présentation Installation DirXML License Auditing Tool (DLAT) vous permet de déterminer le nombre de licences DirXML utilisées dans une

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

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

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Qu'est-ce que c'est Windows NT?

Qu'est-ce que c'est Windows NT? Qu'est-ce que c'est Windows NT? Que faire en cas de blocage d'une station NT? Profils «errants» avec win NT : des éclaircissements Echange de fichiers entre les deux environnements PC/Mac Blocage réseau

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

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

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

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

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

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

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

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

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

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

Notion de thread (1/2)

Notion de thread (1/2) Notion de thread (1/2) La machine virtuelle java (JVM) permet d'exécuter plusieurs traitements en parallèle (en pratique, ils s'exécutent par tranche et en alternance sur le processeur). Ces traitements

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

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

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

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

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

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

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

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

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

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

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse IFT287 Exploitation de base de données relationnelles et orientées objet Laboratoire Mon premier programme Java en Eclipse Comment faire? Nous allons utiliser l environnement de travail proposé par Eclipse

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

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

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 ) P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes

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

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

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

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

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

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

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

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

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

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

SQL Server 2012 Administrez une base de données : Exercices et corrigés

SQL Server 2012 Administrez une base de données : Exercices et corrigés ÉnoncésChapitre 1 : Installer SQL Pré-requis 9 Énoncé 1.1 Choisir l'édition de SQL Server 11 Énoncé 1.2 Installer une instance de SQL Server 11 Énoncé 1.3 Installer la base d'exemple 12 Enoncé 1.4 Installer

Plus en détail

CA Desktop Migration Manager

CA Desktop Migration Manager CA Desktop Migration Manager Manuel de configuration du déploiement DMM Service Pack 12.8.01 La présente Documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Guide d'installation. Release Management pour Visual Studio 2013

Guide d'installation. Release Management pour Visual Studio 2013 1 Guide d'installation Release Management pour Visual Studio 2013 Le contenu de ce document est fourni «en l'état». Les informations et les points de vue contenus dans ce document, y compris les URL et

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

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 composants (1/3) Programmation par composants (2/3)

Programmation par composants (1/3) Programmation par composants (2/3) Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant

Plus en détail

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 1. Téléchargement des sources AppInventor http://appinventor.mit.edu/appinventor-sources/ Télécharger ces

Plus en détail

Interfaces graphiques avec l API Swing

Interfaces graphiques avec l API Swing Interfaces graphiques avec l API Swing Les Swing Les classes graphiques Swing dérivent de la classe JComponent, qui hérite ellemême de la classe AWT (Abstract Window Toolkit). Tous les composants Swing

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

http://articles.softonic.fr/2013-06-04-sauvegarde-android-sms-contacts-applications-backup Sauvegarde Android

http://articles.softonic.fr/2013-06-04-sauvegarde-android-sms-contacts-applications-backup Sauvegarde Android 15/06/2013 http://articles.softonic.fr/2013-06-04-sauvegarde-android-sms-contacts-applications-backup Sauvegarde Android Comment sauvegarder SMS, contacts et applications Android d'un appareil à l'autre?

Plus en détail

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Table des matières Atelier pratique 8 : Implémentation de la réplication 1 Exercice 1 : Création d'une publication 1 Exercice

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

Introduction : les processus. Introduction : les threads. Plan

Introduction : les processus. Introduction : les threads. Plan IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

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

CONNECTEUR PRESTASHOP VTIGER CRM

CONNECTEUR PRESTASHOP VTIGER CRM CONNECTEUR PRESTASHOP VTIGER CRM Page 1 / 14 Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x et 1.5.x Pour vtiger CRM version 5.1, 5.2.0, 5.2.1, 5.3 et 5.4 Introduction En tant que gérant

Plus en détail

Le serveur SLIS - Utilisation de base

Le serveur SLIS - Utilisation de base Le serveur SLIS - Utilisation de base Le SLIS est un serveur de communication permettant entre autres de : Créer des adresses électroniques (des comptes de messageries)

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

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

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

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

Tutorial et Guide TeamViewer

Tutorial et Guide TeamViewer Tutorial et Guide TeamViewer TeamViewer est un programme qui permet de partager son bureau ou prendre la main d'un bureau à distance via internet partout dans le monde, et d'ainsi avoir l'opportunité de

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer Messages d'erreurs Erreur 602 Vous essayez de vous connecter à Internet. L'erreur n 602 apparaît et il vous est impossible de vous connecter. L'erreur 602 est souvent issue de l'utilisation de l'accès

Plus en détail