Interface De Service AIDL. Android Interface Definition Language
|
|
- Jeanne Patel
- il y a 8 ans
- Total affichages :
Transcription
1 Client Interface De Service Serviteur AIDL Android Interface Definition Language
2 Client Serviteur Service Process Process IPC IPC Inter Process Communication... mais sur une même machine. pas entre plusieurs machines
3 <<package>> android.content <<interface>> ServiceConnection <<package>> android.os Spécification AIDL (.aidl) package com.example.aidl2kristof.api; interface InterfaceDeService { int premierservice(); int secondservice(); <<class>> Parcel <<interface>> IInterface <<class>> Binder <<interface>> IBinder <<package>> com.example.aidl2kristof.api Type Interne <<interface>> InterfaceDeService int premierservice(); int secondservice(); <<class>> Stub int premierservice(); int secondservice(); <<class>> Proxy
4 <<class>> Proxy <<interface>> InterfaceDeService int premierservice(); int secondservice(); <<class>> Stub int premierservice(); int secondservice(); Android Middleware Android IPC
5 Client Serviteur Process <<class>> Proxy <<interface>> InterfaceDeService int premierservice(); int secondservice(); Process <<class>> Stub int premierservice(); int secondservice(); Android Middleware Android IPC
6 <<interface>> InterfaceDeService int premierservice(); int secondservice(); <<class>> Proxy <<class>> Stub int premierservice(); int secondservice(); Android Middleware Android IPC
7 Exemple Complet 1ière Etape : Spécification de l'interface IDL package com.kristofaidldemo.api; import com.kristofaidldemo.api.monparcelable; interface InterfaceDeService { Fichier InterfaceDeService.aidl Il faut packager On peut importer int unservice(); Un Paramètre = ModeParam + TypeParam + NomParam MonParcelable mode1( in MonParcelable inparam); MonParcelable mode2( out MonParcelable outparam); MonParcelable mode3( inout MonParcelable inoutparam); Exemple simple 3 modes de passage de paramètres ( Parcelable! ): - in - out - inout Client Serveur Client Serveur Client Serveur
8 Exemple Complet 1ière Etape : Spécification des Parcelables (si nécessaire) Fichier MonParcelable.aidl package com.kristofaidldemo.api; Il faut packager parcelable MonParcelable; Ce parcelable a un intérêt seulement dans le cas d'utilisation de paramètres en mode in, out et inout. Les paramètres de type primitifs ne peuvent être passé qu'en mode in (par défaut).
9 Exemple Complet 1ière Etape : Implementation des Parcelables (si nécessaire) Fichier MonParcelable.java package com.kristofaidldemo.api; import android.os.parcel; import android.os.parcelable; public class MonParcelable implements Parcelable { Données "utiles" du Parcelable... private int d1; private String d2;
10 Constructeur Facultatif public MonParcelable(int d1, String d2) { this.d1 = d1; this.d2 = d2; Exemple Complet 1ière Etape : Implementation des Parcelables (si nécessaire) Fichier MonParcelable.java MonParcelable.suite Il faut fournir un constructeur par defaut! Utilisé par l'infrastructure sous-jascente public MonParcelable() { this.d1 = 0; this.d2 = "";
11 Exemple Complet 1ière Etape : Implementation des Parcelables (si nécessaire) Fichier MonParcelable.java MonParcelable.suite Getter/Setter en fonction de vos besoins......mais c'est mieux! public int getd1() { return d1; public void setd1(int d1) { this.d1 = d1; public String getd2() { return d2; public void setd2(string d2) { this.d2 = d2;
12 MonParcelable.suite describecontents() il la faut, c'est comme ca! cf JavaDoc: Describe the kinds of special objects contained in this Parcelable's marshalled representation. Returns : a bitmask indicating the set of special object types marshalled by the Parcelable.??? Il la public int describecontents() { TODO Auto-generated method stub return 0; Exemple Complet 1ière Etape : Implementation des Parcelables (si nécessaire) Fichier MonParcelable.java
13 Exemple Complet 1ière Etape : Implementation des Parcelables (si nécessaire) Fichier MonParcelable.java MonParcelable.suite /** Factory... * *... le nom " CREATOR "...doit être ainsi... */ public static final Parcelable.Creator<MonParcelable> CREATOR = new Parcelable.Creator<MonParcelable>() { ; public MonParcelable createfromparcel(parcel in) { int v1 = in.readint(); String v2 = in.readstring(); return new MonParcelable(v1, v2); public MonParcelable[] newarray(int size) { return new MonParcelable[size];
14 Exemple Complet 1ière Etape : Implementation des Parcelables (si nécessaire) Fichier MonParcelable.java MonParcelable.suite public void writetoparcel(parcel outparcel, int arg1) { Pour les paramètre en mode out et inout outparcel.writeint(d1); outparcel.writestring(d2); public void readfromparcel(parcel in) { Pour les paramètre en mode in d1 = in.readint(); d2 = in.readstring(); public String tostring() { return "MonParcelable [d1=" + d1 + ", d2=" + d2 + "]";
15 Exemple Complet Le compilateur AIDL. va traduire ces AIDL en java.
16 2nde Etape : Le coté Serveur... Exemple Complet package com.kristofaidldemo.coteserveur.lib; import... Implémentation du "Serviteur"... Objet qui rend effectivement les services... Premiere Etape : On "fabrique" une classe d implémentation qui dérive de la classe android.app.service En conséquence de cette dérivation, cela implique l implémentation de la méthode : public abstract Ibinder onbind (Intent intent) public class InterfaceDeServiceImpl extends Service {
17 2nde Etape : Le coté Serveur... private static final String Exemple Complet TAG=com.kristofaidldemo.coteserveur.lib.InterfaceDeServiceImpl. class.getname(); Variable compteur... pour illustrer le code métier.. private int compteur=0;
18 2nde Etape : Le coté Serveur... Exemple Complet Seconde Etape : En conséquence de la dérivation de la classe Service par la classe InterfaceDeServiceImpl, on implémenté la méthode onbind (Intent intent) Comme on illustre ici l'offre d'un service AIDL, cette méthode onbind doit retourner un Binder de type InterfaceDeService.Stub (nommé ici monbinder... cf ensuite) et implémentant les services apparaissant dans l'interface InterfaceDeService(.aidl). public IBinder onbind(intent intent) { return monbinder;
19 2nde Etape : Le coté Serveur... Exemple Complet private InterfaceDeService.Stub monbinder = new InterfaceDeService.Stub() { Notez ici l implémentation des services apparaissant dans l'interface InterfaceDeService(.aidl).... c'est ici qu apparaît le " code métier " du fournisseur de service... public int unservice() throws RemoteException { Log.d(TAG, "Execution de 'unservice'."); compteur++; return compteur;
20 2nde Etape : Le coté Serveur... Exemple public MonParcelable mode1( Illustation du mode in MonParcelable inparam)throws RemoteException { int v1=inparam.getd1(); String v2=inparam.getd2(); Log.d(TAG, " inparam (avant modif)= "+inparam); inparam.setd1(compteur); inparam.setd2("from mode1="+v2); Log.d(TAG, " inparam (apres modif)= "+inparam); MonParcelable res = new MonParcelable(666, "in parameter"); Log.d(TAG, " resultat = "+res); return res;
21 2nde Etape : Le coté Serveur... Exemple public MonParcelable mode2( Illustation du mode out MonParcelable outparam)throws RemoteException { int v1=outparam.getd1(); String v2=outparam.getd2(); outparam.setd1(compteur); outparam.setd2("from mode2="+v2); Log.d(TAG, " outparam (apres modif)= "+outparam); MonParcelable res = new MonParcelable(667, "out parameter"); Log.d(TAG, " resultat = "+res); return res;
22 2nde Etape : Le coté Serveur... Exemple public MonParcelable mode3( Illustation du mode outin MonParcelable inoutparam) throws RemoteException { int v1=inoutparam.getd1(); String v2=inoutparam.getd2(); inoutparam.setd1(compteur); inoutparam.setd2("from mode3="+v2); MonParcelable res = new MonParcelable(668, "inout parameter"); return res; fin de private InterfaceDeService.Stub monbinder =...
23 2nde Etape : Le coté Serveur... Exemple Complet public void oncreate() { Création du service super.oncreate(); Log.d(TAG, "unservice..."); Utils.listRunningService(getApplicationContext()); Utils.showShortToast(this, "oncreate()... Création du service..."); new MonThread().start();
24 2nde Etape : Le coté Serveur... Exemple Complet public void ondestroy() { super.ondestroy(); Destruction du service Log.d(TAG, "unservice..."); Utils.listRunningService(getApplicationContext()); Utils.showShortToast(this, "ondestroy()... Destruction du service...");
25 2nde Etape : Le coté Serveur... Exemple Complet public int onstartcommand( Intent intent, int flags, int startid) { Log.d(TAG, "unservice..."); Utils.listRunningService(getApplicationContext()); Utils.showShortToast(this, "onstartcommand()..."); return super.onstartcommand(intent, flags, startid);
26 Exemple Complet 2nde Etape : Le coté Serveur pour être complet : package com.kristofaidldemo.coteserveur.lib; import android.util.log; public class MonThread extends Thread { private static final String TAG=... private int pause=1000; private int compteur=0 ;
27 Exemple Complet 2nde Etape : Le coté Serveur pour être complet public void run() { while(compteur<200){ compteur++; Log.d(TAG, "MonThread["+compteur+"]"); try { Thread.sleep(pause); catch (InterruptedException e) {
28 Exemple Complet 2nde Etape : Le coté Serveur Concernant l'androidmanifest <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.kristofaidldemo.coteserveur.lib" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="16" android:targetsdkversion="16" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" <service android:name="interfacedeserviceimpl" android:enabled="true" android:exported="true" > <intent-filter> <action android:name="com.kristofaidldemo.intent.service.zeserviteur" /> </intent-filter> </service> </application> </manifest>
29 Exemple Complet 2nde Etape : Le coté Serveur Concernant l'androidmanifest <service android:name=the name of the Service subclass that implements the service. This should be a fully qualified class name (such as, "com.example.project.roomservice"). However, as a shorthand, if the first character of the name is a period (for example, ".RoomService"), it is appended to the package name specified in the <manifest> element. android:enabled=whether or not the service can be instantiated by the system "true" if it can be, and "false" if not. The default value is "true". > android:exported=whether or not components of other applications can invoke the service or interact with it "true" if they can, and "false" if not. When the value is "false", only components of the same application or applications with the same user ID can start the service or bind to it.
30 Exemple Complet 2nde Etape : Le coté Serveur Concernant l'androidmanifest <intent-filter> <action android:name="com.kristofaidldemo.intent.service.zeserviteur" /> </intent-filter> Le nom de l'intent dont devra disposer tout composant souhaitant se conencter au Serveur
31 Exemple Complet 3nde Étape : Le coté Client Le Client doit disposer d'une référence sur le Serveur : private InterfaceDeService monserviteur;
32 3nde Étape : Le coté Client Exemple Complet Le Client doit disposer d'une «connexion» sur le Serveur : L'interface ServiceConnection appartient à l'api private ServiceConnection maconnection = new ServiceConnection() { public void onserviceconnected (ComponentName arg0, IBinder arg1) { public void onservicedisconnected (ComponentName arg0) {
33 3nde Étape : Le coté Client Exemple Complet Le Client doit disposer d'une «connexion» sur le Serveur avec : La Méthode onserviceconnected (...) de l'interface android.content.serviceconnection Called when a connection to the Service has been established, with the IBinder of the communication channel to the Service. cf API Docs public void onserviceconnected (ComponentName arg0, IBinder arg1) { monserviteur = InterfaceDeService.Stub.asInterface(arg1);
34 3nde Étape : Le coté Client Exemple Complet Le Client doit disposer d'une «connexion» sur le Serveur avec : La Methode onservicedisconnected (...) de l'interface android.content.serviceconnection Called when a connection to the Service has been lost. This typically happens when the process hosting the service has crashed or been killed. cf API Docs public void onservicedisconnected (ComponentName arg0) { monserviteur = null;
35 3nde Étape : Le coté Client Exemple Complet Une fois que le Client se sera lié au Serveur : String intentstring = "com.kristofaidldemo.intent.service.zeserviteur"; Nom de l'intent-filter du service apparaissant dans l'androidmanifest.xml coté serveur Intent intent = new Intent(intentString) ; boolean res = BindService( intent, maconnection, Context.BIND_AUTO_CREATE); Il n'aura plus qu'à «naturellement» interagir avec : int res = monserviteur.unservice();
36 3nde Étape : Le coté Client Exemple Complet Le Client doit disposer d'une «connexion» sur le Serveur avec : La Methode onservicedisconnected (...) de l'interface android.content.serviceconnection Called when a connection to the Service has been lost. This typically happens when the process hosting the service has crashed or been killed. cf API Docs public void onservicedisconnected (ComponentName arg0) { monserviteur = null;
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étailProjet 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étailDé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étailSynchro 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étailRemote 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étailIntroduction à 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étailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailRMI. 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étailAndroid 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étailComposants 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étailSupervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14
Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...
Plus en détail[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Plus en détailTP 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étailRMI 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étailAuto-é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étailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailProgrammation 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étailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailDis 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étailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailInfo0604 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étailThreads. 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étailCorrigé 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étailINITIATION 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étailQuelques 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étailLambda! 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étailCalcul Parallèle. Cours 5 - JAVA RMI
Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation
Plus en détailServeur 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étailTp 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étailTutorial 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étailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailCré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étailPage 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étailUn 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étailProgrammation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailProgrammation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
Plus en détailExclusion 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étailJava 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étailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailRemote 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étailTP 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étailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailJADE : 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étailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailTP1 : 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étailPremiers 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étailJava RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011
Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailTD 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étailLMI 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étailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailLOG4430 : Architecture logicielle et conception avancée
LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailOutils, 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étailCommunication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle
F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation
Plus en détailBases de données et fournisseurs de contenu
8 Bases de données et fournisseurs de contenu Au sommaire de ce chapitre : Créer des bases de données et utiliser SQLite Utiliser les fournisseurs de contenu, les curseurs et les content values pour stocker,
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailCréer des applications Android
Créer des applications Android Auteurs : Philippe Lacomme, Raksmey Phan Les outils nécessaires sont : - Android SDK - Eclipse - Le plugin ADT de Eclipse Plan (ceci n est pas un cours) Outils: Préparation
Plus en détailÉtude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Université Catholique de Louvain Faculté des Sciences Appliquées Département d Ingénierie Informatique Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Plus en détailRAPPELS 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étail7 Développement d une application de MapReduce
7 Développement d une application de MapReduce Ecrire un programme d Hadoop demande un processus : écrire une fonction map, une fonction reduce et tester localement. Ecrire ensuite un programme pour lancer
Plus en détailNFP 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étailJ2SE 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étailWeb Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Plus en détailIntroduction : 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étailProjet 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étailSERVEUR DÉDIÉ DOCUMENTATION
SERVEUR DÉDIÉ DOCUMENTATION Release 5.0.6.0 19 Juillet 2013 Copyright 2013 GIANTS Software GmbH, All Rights Reserved. 1/9 CHANGE LOG Correction de bug divers (5.0.6.0) Ajout d une option de relance automatique
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailTutoriel: 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étailAndroid 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étailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailDé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étailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailProgrammation Mobile Android Master CCI
Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Organisation de l UE Objectifs du cours
Plus en détailTP 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étail1.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étailTD2 Programmation concurrentielle
TD2 Programmation concurrentielle Développement Logiciel (L2-S4) Lundi 10 février 2014 Exercice 1 (Au bar...) Trois clients se trouvent au bar. Il est tard, ils sont fatigués, et ils s endorment sur le
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailConception de serveurs d'applications ouverts
Conception de serveurs d'applications ouverts Stéphane Frénot 3 Un modèle d'exécution standard Application Stéphane Frénot 4 1 Répartition "horizontale" d'une application Application de Présentation Application
Plus en détailIntroduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Plus en détailMaîtriser le menu contextuel dans un OfficeBean
Maîtriser le menu contextuel dans un OfficeBean Diffusé Par Le Projet Documentation d'openoffice.org Version 1.0 Aurélie Schröder Université de Genève Division informatique AurelieSch@netcourrier.com Table
Plus en détailApplet pour visualiser les variables «automate» notifiées
Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage
Plus en détailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailCertificat Big Data - Master MAthématiques
1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia
Plus en détailSécurité Informatique. Description. Prérequis. Un petit test avant de commencer s embourber
Sécurité Informatique Avertissements : Le contenu de ce document est sous licence GPL. Le document est librement diffusable dans le contexte de cette licence. Toute modification est encouragée et doit
Plus en détailCedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/
Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation
Plus en détailPour 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étailInterfaces 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étailProgrammation Orientée Objet Java
Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre
Plus en détailHé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étailPrincipes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Plus en détail