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

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

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

Transcription

1 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

2 Sommaire Le socle, les fondements Le patron publish-subscribe L entité Android de base : Receiver Publication sendbroadcast(intent i), sendorderedbroadcast Souscription onreceive, (BroadcastReceiver) Exemples: Abonnement à un évènement Batterie, réception de SMS Abonnement à une alarme Service déjà installé sur le mobile GCM, Google Cloud Messaging Google/Cloud s occupe de tout Compte gmail dédié Abonnement de plusieurs mobiles Librairies, BroadcastReceiver et service, prêts à l emploi Ce qui reste à faire: Une classe dérivée, 4 redéfinitions de méthodes et c est tout Une architecture logicielle possible, pour discussions 2

3 Principale bibliographie Le tutorial indispensable Avant il y avait c2dm Vogella https://github.com/joemoore/c2demo 3

4 Le patron publish/subscribe Les fondements Publication à l occurrence d un évènement Un sms entrant, la batterie déchargée, Un évènement engendré par l utilisateur Souscription à un évènement Agir en conséquence Un médiateur se charge De la réception des évènements, de leur filtrage De la diffusion auprès des souscripteurs sélectionnés Diffusion aléatoire ou ordonnée 4

5 Publish-Subscribe,cf NSY102 source: 5

6 Publish-subscribe/ pull-push Les news d internet, ou le forum de jfod Enregistrement d un «client» à un sujet de discussion, Un des «clients» décide de poster un message, Les utilisateurs à leur initiative vont chercher l information, Publish-subscribe, mode pull Les listes de diffusion, logiciels de causerie, («chat») Abonnement d un «client» à une liste de diffusion, Un des «clients» décide de poster un message, Tous les abonnés reçoivent ce message, Publish-subscribe, mode push 6

7 Un exemple, mode push p1 : Publisher mediator : Mediator s1 : Subscriber publish(p1,meteo,"sun") publish(p1,meteo,"rain") p2 : Publisher publish(p2,sensor,"25 ") addsubscriber(s1,meteo) update(p1,meteo,"sun") update(p1,meteo,"rain") s2 : Subscriber publish(p1,meteo,"sun") publish(p2,sensor,"27 ") publish(p1,meteo,"sun") addsubscriber(s2,sensor) update(p1,meteo,"sun") addsubscriber(s2,meteo) update(p2,sensor,"27 ") update(p1,meteo,"sun") update(p1,meteo,"sun") 7

8 En Java/ notation UML/BlueJ 8

9 Android et le patron Publish/Subscribe Une application Android peut : Souscrire à un thème de publication, réception de SMS, niveau de batterie, Publier un évènement une alarme à son échéance, un évènement interne à l application, Google Cloud Messaging une API prête à l emploi plusieurs mobiles peuvent souscrire et être notifiés «Over the Air» 9

10 Android/Publish-Subscribe : les bases souscription publication Source : 10

11 Publish-Subscribe/Intent & Context Context BroadcastReceiver X,Y Intent 11

12 Souscription : schéma de programme Basée sur les Intent (Topic), Context (Mediator), BroadcastReceiver (Subscriber). import android.content.intent; import android.content.context; import android.content.broadcastreceiver; import android.util.log; public class ReceiverTemplate extends BroadcastReceiver { public void onreceive(context context, Intent intent) { Log.i(TAG, "onreceive action: "+intent.getaction() ); } } 12

13 Souscription effective Déclarative, AndroidManifest.xml Au sein d une application <receiver android:name=".receivertemplate"> <intent-filter> <action android:name=" android.intent.action.sms_received_action " /> </intent-filter> </receiver> Par programme getapplicationcontext().registerreceiver( new ReceiverTemplate(), new IntentFilter(Intent.SMS_RECEIVED_ACTION)); 13

14 Par programme Cf. le cycle de vie d une activité onresume registerreceiver( onpause unregisterreceiver( 14

15 Les acteurs classe Context, le Mediator classe BroadcastReceiver, le Subscriber classe Intent + IntentFilter, X,Y les thèmes À suivre: 3 exemples avec le système Android 1. Le niveau de la batterie vient d être réactualisé, 2. Un sms vient d arriver, 3. Un évènement de l utilisateur. 15

16 Exemple 1 : la batterie a changé d état public class LowBatteryActivity extends Activity { private BroadcastReceiver receiver; public void oncreate(bundle savedinstancestate) { } public void onresume() { IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); this.receiver = new BatteryChangedReceiver(); // Souscription registerreceiver(this.receiver, filter); } public void onpause() { // Dé-souscription unregisterreceiver(this.receiver); } 16

17 Le souscripteur // le Souscripteur private static class BatteryChangedReceiver extends BroadcastReceiver { public void onreceive(context context, Intent intent) { Toast.makeText(context, "battery changed", Toast.LENGTH_SHORT).show(); Log.d(TAG, "onreceive action: "+intent.getaction() ); } } } 17

18 La publication par Android ressemblerait à android.os.batterymanager Intent broadcastintent = new Intent(); broadcastintent.setaction("action_battery_changed"); broadcastintent.putextra("level", 3567); // // // context.sendbroadcast(broadcastintent); 18

19 Exemple 2 : réception d un SMS // le souscripteur public class SMSReceiver extends public void onreceive(context context, Intent intent) { Toast.makeText(context, "sms received", Toast.LENGTH_SHORT).show(); } } 19

20 Configuration du souscripteur, <receiver /> // AndroidManifest.xml // La souscription <receiver android:name=".smsreceiver"> <intent-filter> <action android:name="android.intent.action.sms_received_action"/> </intent-filter> </receiver> Souscription effectuée (appel implicite de registerreceiver) au chargement de l application (unregisterreceiver lorsque l application est détruite) 20

21 Exemple 3: «un évènement utilisateur» Ajout, retrait d un «contrôleur» cf. public void onresume(){ super.onresume(); IntentFilter intentfilter = new IntentFilter(); intentfilter.addaction(controller.action); registerreceiver(this.controller, public void onpause(){ super.onpause(); unregisterreceiver(this.controller); Avec Controller.ACTION public static final String ACTION = "fr.cnam.list.items"; 21

22 La classe «Controller», ici gestion d une liste Le contrôleur agit sur le modèle, ici une liste (classe Items) public class ItemsController extends BroadcastReceiver { public static final String ACTION = "fr.cnam.list.items"; public static final String ADD public static final String REMOVE = "add"; // valeurs = "remove"; private Items items; // le modèle private Context context; // Android framework public ItemsController(Context context, final Items items){ this.context = context; this.items = items; // le modèle } public void onreceive(final Context context, final Intent intent) { String operation = intent.getstringextra(operation_key); if(operation.equals(add)) items.ajouter(intent.getstringextra(data_key)); else if(operation.equals(remove)) items.retirer(integer.parseint(intent.getstringextra(data_key))); } 22

23 Démonstration Un des trois exemples Le contrôleur Optionnels: Intent.ACTION_BATTERY_CHANGED android.intent.action.sms_received_action 23

24 Autre façon de souscrire PendingIntent Intent à effet immédiat PendingIntent à effet retardé Destiné à un tiers A destination d un service existant AlarmManager, NotificationManager Souscription auprès du service Exécution de l intent passé en paramètre, à l aide d un PendingIntent 24

25 Souscription auprès d un service existant Intent intent = new Intent(this, ReceiverTemplate.class); PendingIntent appintent = PendingIntent.getBroadcast(this, 0, intent, 0); Calendar calendar = Calendar.getInstance(); calendar.settimeinmillis(system.currenttimemillis()); calendar.add(calendar.second, 3); AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); am.set(alarmmanager.rtc, calendar.gettimeinmillis(), appintent); // sendbroadcast(intent) par le service d alarme 25

26 Variante de l écriture précédente PendingIntent appintent = PendingIntent.getBroadcast (this, 0, new Intent(), 0); Calendar calendar = Calendar.getInstance(); // idem diapositive précédente am.set(alarmmanager.rtc, calendar.gettimeinmillis(), appintent); // Ce sont les receveurs déclarés dans AndroidManifest.xml // qui seront déclenchés, (méthode onreceive) // puis sendbroadcast(intent) par le service d alarme 26

27 Notification Souvent associée à la réception d un évènement Déclenchée par le souscripteur Un «Receiver», un service, Exemple: Une notification à la réception d un message sms» telnet localhost 5554» send 1234 SMS test message 27

28 Notification : affichage private static void generatenotification(context context, String message) { long when = System.currentTimeMillis(); NotificationManager notificationmanager = null; notificationmanager(notificationmanager) context.getsystemservice(context.notification_service); Notification notification = new Notification(R.drawable.ic_launcher,message, when); String title = context.getstring(r.string.app_name); Intent intent = // page suivante notification.setlatesteventinfo(context, title, message, intent); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationmanager.notify(0, notification); } 28

29 Autre exemple : une notification Au clic sur la notification une application est déclenchée private static void generatenotification(context context, String message) { long when = System.currentTimeMillis(); NotificationManager notificationmanager = null; notificationmanager(notificationmanager) context.getsystemservice(context.notification_service); Notification notification = new Notification(R.drawable.ic_launcher,message, when); String title = context.getstring(r.string.app_name); Intent notificationintent = new Intent(context,GCMClientActivity.class); // afin que l intent retardée démarre une nouvelle activité notificationintent.setflags(intent.flag_activity_clear_top Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent intent = PendingIntent.getActivity(context, 0, notificationintent, 0); notification.setlatesteventinfo(context, title, message, intent); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationmanager.notify(0, notification); } Source: 29

30 Autre usage : une notification, sans effet au clic Au clic sur la notification rien ne se passe private static void generatenotification(context context, String message) { long when = System.currentTimeMillis(); NotificationManager notificationmanager = null; notificationmanager(notificationmanager) context.getsystemservice(context.notification_service); Notification notification = new Notification(R.drawable.ic_launcher,message, when); String title = context.getstring(r.string.app_name); PendingIntent intent = PendingIntent.getActivity(context, 0, null, 0); notification.setlatesteventinfo(context, title, message, intent); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationmanager.notify(0, notification); } Source: 30

31 Démonstration 31

32 GCM Google Cloud Messaging Anciennement c2dm, Cloud to Delivering Message >= Android 2.2 Message <= 4ko Trafic illimité Nécessite une inscription auprès de Google Avec de préférence un compte gmail que l on dédiera à cet usage 32

33 Architecture : Objectifs Un client, tout système connecté S adresse au serveur Google qui se chargera de publier auprès des mobiles Mobiles ayant préalablement souscrits Mise en œuvre : une librairie toute prête, un appel de méthode suffit 33

34 Architecture : Mise en œuvre, inscription 1)inscription 2)identifiant GCM 3) dépôt de l identifiant Chaque participant Doit avoir un compte google gmail S inscrit auprès de GCM, en retour un identifiant lui est attribué Un serveur mémorise, l identifiant retourné par GCM Un serveur au protocole HTTP de préférence Ces serveur contient les abonnés 34

35 Architecture : Mise en œuvre, inscriptions id1 id2 id3 Le serveur contient une liste des identifiants Un identifiant par application Application : un service sous Android Exemple : Une liste d identifiants accessible depuis le web 35

36 Architecture : Mise en œuvre, publications 1) Demande de la liste 2) [id1, id2, id3, ] 3) Demande de publication [id1, id2, id3, ] + message message id1 message id2 message id3 Publication par tout système connecté 1,2) Obtention de la liste des identifiants, des abonnés 3) Envoi de cette liste au serveur Google/GCM accompagnée du message à transmettre GCM se charge de publier le message, de le ré-émettre, de le conserver 36

37 Architecture : publications message id1 message id2 message id3 Chaque mobile de la liste [id1, id2, id3, ] est notifié C est un «Receiver» prêt à l emploi qui est déclenché sur chaque mobile Un service prêt à l emploi est créé afin de prendre en compte cette notification Une de ses méthodes est appelée (onmessage) 37

38 Le tutorial que l on se doit de lire https://cloud.google.com/console 38

39 Comment? Création d un projet auprès des serveurs Google 1. https://code.google.com/apis/console 2. En retour : un numéro_de_projet (ProjectId) 1. https://code.google.com/apis/console/#project:numéro_de_projet 3. Une API key est nécessaire 1. Exemple ProjectId: , API_KEY: AIzaSyC60sIgG-fB3JSW47X2zGrOqJHGzV1jh0g 1. Un mobile s inscrit auprès du serveur Google (ProjectId) 1. En retour un jeton d identification lui est attribué Chaque participant doit posséder un compte gmail 2. Cet identifiant est déposé sur un serveur, qui est connu de tous les participants 2. Envoi d un message aux participants(api_key) 1. Obtention de la liste des identifiants auprès du serveur 2. Publication du message Librairies toutes prêtes 39

40 Création du projet ProjectId API_Key https://code.google.com/apis/console/#project:

41 Inscription, mise en oeuvre 1)inscription GCM 2)identifiant 3) dépôt de l identifiant Depuis une activity 1) Inscription auprès du cloud GCMRegistrar.register(this, " "); GCMRegistrar, une classe toute prête Démarrage du service Attente asynchrone de la réponse de GCM 41

42 Le service hérite d une classe toute prête 1)inscription GCM 4 méthodes à redéfinir, public class GCMIntentService extends GCMBaseIntentService { 2)identifiant 3) dépôt de l identifiant Méthode déclenchée à la suite de la demande d inscription au GCM 2) onregistered(context context, String identifiant) 3) Dépôt de l identifiant sur un serveur onmessage(context context, Intent intent) onerror. onunregistered 42

43 Liste des indentifiants id1 id2 id3 1)inscription GCM 2)identifiant 3) dépôt de l identifiant Service web, servlette, php 43

44 Publication API_KEY + Message + id1 id1 id2 id3 message message message id2 id3 Envoi de la liste des identifiants au GCM + un message + API_KEY Et se charge de tout 44

45 Librairie toute prête \android-sdk\extras\google\gcm\gcm-client\dist\ gcm.jar Souscription, abonnement Un service qu il suffit de dériver public class GCMIntentService extends GCMBaseIntentService { Réception d un message : un Receiver + un service Un Receiver prêt à l emploi Une classe GCMIntentBaseService qu il suffit de dériver 45

46 Démonstration, Obtention du jeton GCMRegistrar: Classe interface avec le service GCM ProjectId: GCMRegistrar.getRegistrationId(this, " "); Une demande est faite auprès de Google 2. onregistered(context context, String regid) En retour cette méthode du service est déclenchée Un exemple d identifiant reçu par le mobile: APA91bGy- GWQqqrgyFc652jghpTPygBsKyDHNFPWqzJDCMvtcIx7rtVecmxAYkDItfgztJcEJhyA Rnx0fmmp6FtqrFKNXqftmGXhRIGM5eObyLY67YkT_Aez3RJeOZFVkOpjv- _FRNASI0ZJL6VQk95Y925MQ9Wihw 46

47 Souscription suite Souscription du mobile Permissions <uses-permission android:name="com.google.android.c2dm.permission.registration" /> <uses-permission android:name="android.permission.internet" /> Le receveur, un extrait de AndroiManifest.xml <receiver android:name=".c2dmregistrationreceiver" android:permission="com.google.android.c2dm.permission.send" > <intent-filter > <action android:name="com.google.android.c2dm.intent.registration" > </action> </intent-filter> </receiver> 47

48 Le service public class GCMIntentService extends GCMBaseIntentService onregistered(context context, String regid) Déclenchée par le Receiver pré-installé à la suite de l abonnement Mémorisation de regid onmessage(context context, Intent intent) Déclenchée par le Receiver pré-installé à la suite de la réception d un message String msg = intent.get("message"); 48

49 Publication : le message Par tout système connecté, \android-sdk-new\extras\google\gcm\gcm-server\dist\ gcm-server.jar Sender sender = new Sender(API_KEY); String msg = "un message"; Message message = new Message.Builder() //.collapsekey("1").timetolive(60*60*24) // 24 heures //.timetolive(0) // maintenant ou jamais.delaywhileidle(true).adddata("message",msg).build(); 49

50 Publication : Envoi de message Publication d un message Send devices : une liste de regid MulticastResult result = sender.send(message, devices, 5); // 5 essais en cas d indisponibilité des serveurs google Ensuite le cloud s occupe de tout 50

51 Une architecture possible, publication De type MVC un essai pour discussions Rappels: Hypothèse Un receveur et un service prêts à l emploi» Ce service est appelé à chaque publication par le cloud» onmessage, onregistered, onunregistered, onerror A chaque réception d un message, envoi de celui-ci vers le receveur concerné Un champ du message contient l ACTION à déclencher Les receveurs peuvent être locaux à une activité, un service publish onmessage( ) receveurs 51

52 Réalisation, onmessage Émis directement au receveur concerné intenttoancontroler(intentfromcloud.getstringextra(operation_key)); 52

53 Réalisation, une variante onmessage Un contrôleur dédié au cloud est installé Il est chargé de générer un journal, d effectuer des statistiques, de contrôler Receveur dédié au cloud publish onmessage( ) Receveur associé à l ACTION 53

54 Publication, le contrôleur dédié au cloud pourrait s en charger Receveur dédié au cloud PUBLISH ACTION publish Publication vers le GCM via le contrôleur 54

55 Une Application Une liste partagée 55

56 Architecture MVC, rappel Application: Une liste d item : le modèle, du java standard, portable ListView + ListActivity : la Vue Un Receiver : le Contrôleur 56

57 Android Les outils nécessaires Intent IntentFilter BroadcastReceiver registerreceiver 57

58 La vue, une liste d items Affichage Opérations d ajout et de suppression 58

59 La liste d items le modèle Items extends Observable la vue MainActivity extends ListActivity implements Observer ItemsControler ItemsController le contrôleur extends BroadcastReceiver Items : le modèle MainActivity : la vue ItemsController : le contrôleur 59

60 La classe Items : le modèle Java J2SE portable synchronized(this) par précaution (plusieurs contrôleurs) 60

61 Architecture suite Items : le modèle extends java.util.observable MainActivity : la vue extends android.app.listactivity implements java.util.observer ItemsController : le contrôleur extends android.content.broadcastreceiver 61

62 Le contrôleur est un BroadcastReceiver Items extends Observable MainActivity extends ListActivity implements Observer sendbroadcast ItemsControler ItemsController extends BroadcastReceiver A chaque Click sendbroadcast Intent intent = new Intent(); intent.setaction(itemscontroller.action); sendbroadcast( 62

63 Action de l utilisateur, gérée par le contrôleur MainActivity extends ListActivity implements Observer sendbroadcast ItemsControler ItemsController extends BroadcastReceiver sendbroadcast 63

64 ItemsController A chaque «clic» la méthode onreceive est exécutée abortbroadcast(); si non cumul du comportement 64

65 Contrôleur -> Modèle Items extends Observable ItemsControler ItemsController extends BroadcastReceiver Appel de la méthode ajouter du modèle 65

66 Modèle -> Vue Items extends Observable MainActivity extends ListActivity implements Observer La méthode update est déclenchée au sein de l activité 66

67 La Vue 1/4 initialisation oncreate de l activité Création du modèle et du contrôleur 67

68 La Vue 2/4 enregistrement du contrôleur onresume de l activité (ou oncreate, dépend de l application) enregistrement du contrôleur onpause (ou ondestroy) 68

69 La Vue 3/4 A chaque clic! onclickajouter 69

70 La Vue 4/4 update update appelée par le modèle (extends Observable) La vue est un observateur( implements java.util.observer) 70

71 CloudController Généralisation, discussions 71

72 MVC MVC respecté Couplage faible conservé Items extends Observable Au sein de la même application MainActivity extends ListActivity implements AnotherActivity Observer extends Activity implements Observer ItemsController ItemsController extends BroadcastReceiver extends BroadcastReceiver web, cloud CloudController 72

73 Généralisation MVC respecté Couplage faible conservé Items extends Observable MainActivity extends ListActivity implements AnotherActivity Observer extends Activity implements Observer ItemsController extends BroadcastReceiver web, cloud GenericController Le champ Action sélectionne le contrôleur ad hoc 73

74 GenericController GenericController ItemsController extends BroadcastReceiver L ACTION_KEY est redirigée vers le «bon» contrôleur Discussion 74

75 Cumul du comportement ItemsController extends BroadcastReceiver ItemsControllerPlus extends ItemsController Avec une sous classe de ItemsController: onreceive(context context, Intent intent){ super.onreceive(context, intent); 75

76 Démonstration Démonstration 76

77 Mise en œuvre Répertoire du projet eclipse du client souscripteur Depuis l explorateur windows, (eclipse n est pas démarré) créer un répertoire libs dans lequel vous copiez gcm.jar libs>copy D:\android-sdk\extras\google\gcm\gcm-client\dist\gcm.jar. Répertoire du projet eclipse du client «publieur» Depuis l explorateur windows, (eclipse n est pas démarré) créer un répertoire libs dans lequel vous copiez gcm-server.jar libs>copy D:\android-sdk\extras\google\gcm\gcm-server\dist\gcm-server.jar.. Si bluej, installez gcm-server.jar dans le répertoire +libs A l exécution json est requis D:\android-sdk\extras\google\gcm\gcm-server\lib\json_simple-1.1.jar 77

78 Conclusion Simple Push/polling (voir en annexe) Indispensable Note: Sous eclipse dans le projet créez un dossier libs Dans lequel sont copiés : gcm.jar pour souscrire gcm-server.jar et json-simple-1.1.jar pour publier 78

79 Annexe consommation en «polling» 79

Bibliographie utilisée

Bibliographie utilisée Android View, onclick, Activity, Modèle Vue Contrôleur jean-michel Douin, douin au cnam point fr version : 26 Septembre 2012 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html

Plus en détail

ESGI Android Day 2014 Push Notification sur Android. Présentation : Olivier Denier - odenier@sophiacom.fr Philippe Rabier - prabier@sophiacom.

ESGI Android Day 2014 Push Notification sur Android. Présentation : Olivier Denier - odenier@sophiacom.fr Philippe Rabier - prabier@sophiacom. ESGI Android Day 2014 Push Notification sur Android Présentation : Olivier Denier - odenier@sophiacom.fr Philippe Rabier - prabier@sophiacom.fr Sommaire Introduction Sur Android, c est comment? Plateforme

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

Android les Services, Receiver et processus

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

Plus en détail

Android une courte Introduction

Android une courte Introduction Android une courte Introduction jean-michel Douin, douin au cnam point fr version : 15 Octobre 2012 Notes de cours 1 Sommaire Andoid OS comme middleware Applications et évènements gérés par le middleware

Plus en détail

TP2 : Initiation à la Programmation avec Android

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

Plus en détail

Projet Android (LI260) Cours 2

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

Plus en détail

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

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

Plus en détail

www.elektor.fr/android SOMMAIRE

www.elektor.fr/android SOMMAIRE www.elektor.fr/android Android Apprendre à programmer des applis Environnement de développement Eclipse Programmation orientée objet en JAVA Auteur : Stephan Schwark Éditeur : Elektor ISBN : 978-2-86661-187-3

Plus en détail

Programmation Android M1 informatique

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

Plus en détail

Chapitre 2 Cycle de vie d une application

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

Plus en détail

Chapitre 2 Cycle de vie d une application

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

Plus en détail

TP Android Google Maps API V2

TP Android Google Maps API V2 TP Android Google Maps API V2 Objectif La création d'une application Android qui utilise les cartes Google Maps API v2 Android. Vue d'ensemble La création d'une application Android qui utilise les cartes

Plus en détail

Développement sécurisé Android

Développement sécurisé Android Développement sécurisé Android Johan Leuenberger Software Security Engineer Application Security Forum - 2012 Western Switzerland 7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains https://www.appsec-forum.ch

Plus en détail

Programmation Android TP7 - WebServices

Programmation Android TP7 - WebServices 1. WebService Dans le TP6, les avis étaient stockés dans une base SQL. Cette semaine les n-uplets sont stockés sur une base de données externe gérée par un serveur HTTP sur lequel tournent des scripts

Plus en détail

Android INTRODUCTION

Android INTRODUCTION Android INTRODUCTION Présentation Système d exploitation open source Développé en 2007 par une startup rachetée par Google. Caractéristique du Système d exploitation Android: Multi utilisateur, chaque

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

opengeophone Documentation

opengeophone Documentation opengeophone Documentation Version 1.0.0 openmairie 28 June 2013 Table des matières 1 Manuel de l utilisateur 3 1.1 installation................................................ 3 1.2 Utilisation................................................

Plus en détail

Android une Introduction

Android une Introduction Android une Introduction jean-michel Douin, douin au cnam point fr version : 26 Septembre 2012 Notes de cours 1 Sommaire Un peu d historique Andoid OS comme middleware Applications et évènements gérés

Plus en détail

Alerter les utilisateurs avec des notifications

Alerter les utilisateurs avec des notifications 37 Alerter les utilisateurs avec des notifications Les messages qui surgissent, les tiroirs et les «bulles» qui leur sont associées, les icônes qui bondissent dans la barre d état, etc. sont utilisés par

Plus en détail

Android: Google map et Géolocalisation

Android: Google map et Géolocalisation Matiaz OUINE Juin 2012 Benoit RAYMOND Ensimag 2A Projet de spécialité David DUMENIL Florian GUFFON Projet de spécialité: Développement d une application Android utilisant la géolocalisation Tutoriel :

Plus en détail

Programmation de composant mobiles aka Android

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

Plus en détail

Les fichiers. Programmation Mobile Android Master CCI. Créer un fichier dans le stockage interne. Écrire et lire des données dans un fichier

Les fichiers. Programmation Mobile Android Master CCI. Créer un fichier dans le stockage interne. Écrire et lire des données dans un fichier Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Les fichiers Deux espaces de stockage

Plus en détail

Un backend Cloud pour votre appli Android*

Un backend Cloud pour votre appli Android* Un backend Cloud pour votre appli Android* Mobile Backend Starter avec Alexis Moussine-Pouchkine *: et pour ios aussi http://goo.gl/tf0o6j Done! Oui, mais parler au serveur c est {compliqué pas drole}!

Plus en détail

ANDROID Tutoriel Lecture d'un flux XML distant et enchainement d'activités

ANDROID Tutoriel Lecture d'un flux XML distant et enchainement d'activités L'objectif de ce tutoriel est de vous présenter une des façons d'exploiter en lecture des informations distantes disponibles au format XML. L'application présentera le résultat dans une ListView 1/ Prérequis

Plus en détail

TP 03. Cycle de vie d une activité. 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle)

TP 03. Cycle de vie d une activité. 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle) TP 03 Cycle de vie d une activité 1 ) Créer un nouveau projet Android 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle) 2 ) Surchage des fonctions de callback 1. Ouvrez le

Plus en détail

INTRODUCTION AUX TESTS ANDROID AVEC ESPRESSO

INTRODUCTION AUX TESTS ANDROID AVEC ESPRESSO INTRODUCTION AUX TESTS ANDROID AVEC ESPRESSO Andr0 29 octobre 2015 Table des matières 1 Introduction 5 2 Présentation d Espresso 7 3 Fonctionnement général 9 4 Prérequis avant le développement des tests

Plus en détail

Twitting Cocoa Plants

Twitting Cocoa Plants Proposé par Nestlé Auteur : Filière : Informatique Orientation : Logicielle Lieu et date : Yverdon-les Bains, le 26.07.2012 Professeur responsable : Stéphan Robert Remerciements J aimerai remercier Maison

Plus en détail

Développement sur Android

Développement sur Android Développement sur Android V. Barichard vincent.barichard@univ-angers.fr LERIA - Département Informatique Université d Angers M2 - SILI M2 - SILI Développement sur Android 1 Rappels Chapitre I Rappels M2

Plus en détail

TP Android Les Intents avec passage de données

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

Plus en détail

1. Base de données SQLite

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

Plus en détail

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

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

Plus en détail

TP1 : Traducteur «Français-Anglais»

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

Plus en détail

Warren PAULUS. Android SDK et Android x86

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

Plus en détail

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

Chapitre 4. Le modèle de composants : les services Chapitre 4 Le modèle de composants : les services 1 Les services "A Service is an application component that can perform long-running operations in the background and does not provide a user interface."

Plus en détail

Introduction au développement sous Android TP1

Introduction au développement sous Android TP1 Introduction au développement sous Android TP1 Master ISIDIS/I2L - 2 me année année 2015-2016 Introduction Ce premier TP est une initiation à l environnement de développement Android Studio que vous utiliserez

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

IFT1155 Examen Final

IFT1155 Examen Final Trimestre Été, 2013 Mohamed Lokbani IFT1155 Examen Final Inscrivez tout de suite : votre nom et le code permanent. Nom : Prénom(s) : Signature : Code perm : Date : mardi 16 juillet 2013 Durée : 3 heures

Plus en détail

Groupe Entreprenant et Innovateur. France. Tutoriel. Mon Design Android 2D. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach.

Groupe Entreprenant et Innovateur. France. Tutoriel. Mon Design Android 2D. Programmation Mobile. Cours. Arón HERRERA PONTE. Coach. Groupe Entreprenant et Innovateur France Tutoriel 5 Mon Design Android 2D Cours Programmation Mobile Coach Arón HERRERA PONTE E-mail teaching@atipaxinti.comatipaxinti.com - 2011 - SOMMAIRE 1. Introduction...

Plus en détail

Android Gestion des données. Rémi Forax

Android Gestion des données. Rémi Forax Android Gestion des données Rémi Forax Types de stockage Android fourni plusieurs types de stockage Données actives d'une activité (Bundle) Fichier ressources read-only (répertoire res) Préférence partageable

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

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

TP 5 Serveur REST, tests et premier client REST

TP 5 Serveur REST, tests et premier client REST TP 5 Serveur REST, tests et premier client REST Xavier de Rochefort xderoche@labri.fr - labri.fr/~xderoche 13 mai 2014 Résumé Les derniers TP vous ont guidé dans ➊ la mise en place d un serveur REST avec

Plus en détail

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Formulaires Web avec Spring Web MVC

Formulaires Web avec Spring Web MVC Formulaires Web avec Spring Web MVC Spring propose un framework MVC pour faciliter la programmation d applications Web : Spring Web MVC. Au fil des ans ce framework a supplanté Struts pour être à présent

Plus en détail

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

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

Plus en détail

Test de Personnalité. Groupe Entreprenant et Innovateur. France. Tutoriel. teaching@atipaxinti.com. Programmation Mobile. Cours. Arón HERRERA PONTE

Test de Personnalité. Groupe Entreprenant et Innovateur. France. Tutoriel. teaching@atipaxinti.com. Programmation Mobile. Cours. Arón HERRERA PONTE Groupe Entreprenant et Innovateur France Tutoriel 4 Test de Personnalité Cours Programmation Mobile Coach Arón HERRERA PONTE E-mail teaching@atipaxinti.com - 2011 - SOMMAIRE 1. Introduction... 3 2. Objectifs...

Plus en détail

Education Delivery Intelligent Tool

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

Plus en détail

Votre première application Android - Introduction aux Interfac. utilisateur

Votre première application Android - Introduction aux Interfac. utilisateur Votre première application Android - Introduction aux Interfaces graphiques utilisateur frederic.guinand@univ-lehavre.fr 2014-2015 Plan Analyse d une app Android : visite guidée Introduction aux interfaces

Plus en détail

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Géocodage d une flotte de téléphones portables Principes (niveau débutants)

Géocodage d une flotte de téléphones portables Principes (niveau débutants) Géocodage d une flotte de téléphones portables Principes (niveau débutants) P. Lacomme (placomme@isima.fr) 1. Mise en place d un serveur web Étape 1 : Installer un serveur php. Par exemple : http://www.easyphp.org/

Plus en détail

Patrons Observateur/MVC

Patrons Observateur/MVC Patrons Observateur/MVC programmation évènementielle jean-michel Douin, douin au cnam point fr version : 12 Septembre 2008 Notes de cours 1 Sommaire Patron Observateur Programmation évènementielle Patron

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

Développez une application Android Programmation en Java sous Eclipse (2ième édition)

Développez une application Android Programmation en Java sous Eclipse (2ième édition) Avant-propos 1. Pré-requis 13 2. Présentation du projet 13 3. Sujets complémentaires abordés 14 4. Téléchargement de l'application et du code source 15 Installation d'eclipse/android 1. Configuration de

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

file:///d:/wd/ens/in413/0708/les_tp/tp6_reseau/index.html TP6 Thèmes du TP : Serveurs de type "sessions"

file:///d:/wd/ens/in413/0708/les_tp/tp6_reseau/index.html TP6 Thèmes du TP : Serveurs de type sessions 1 sur 8 12/10/2007 15:50 TP6 Thèmes du TP : Serveurs de type "sessions" Architecture web et déploiement : une introduction httpunit : première utilisation Préambule : Les classes de tests unitaires présentes

Plus en détail

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57

Programmation Android I. Introduction. Cours Android - F. Michel 1 / 57 Programmation Android I. Introduction 1 / 57 Plan 1 Introduction 2 La plate-forme Android 3 Programmation Android 4 Hello World 2 / 57 Introduction Application mobile wikipédia Caractéristiques Cible :

Plus en détail

Interface De Service AIDL. Android Interface Definition Language

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

Plus en détail

Développement Android. J.-F. Couchot

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

Plus en détail

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

Présentation d'android

Présentation d'android NormandyJUG Présentation d'android Avec l'aimable autorisation de l'auteur original de cette présentation. Florent Garin florent.garin@jugtoulouse.org http://www.docdoku.com Présentation des intervenants

Plus en détail

TP3 : Localiser ses amis

TP3 : Localiser ses amis TP3 : Localiser ses amis Objectifs : utiliser le capteur GPS, utiliser le fournisseur de contenu «Contacts», enregistrer son nom de paquetage sur Google pour obtenir une clé d usage Google MAP, utiliser

Plus en détail

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

Android 5 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 17 3.3 Suivi et mise à jour d'une application 18 Environnement

Plus en détail

Programmation Android IV. Cycle de vie d une application Android. Cours Android - F. Michel 1 / 35

Programmation Android IV. Cycle de vie d une application Android. Cours Android - F. Michel 1 / 35 Programmation Android IV. Cycle de vie d une application Android 1 / 35 Plan 1 Vue globale du cycle de vie 2 Démarrage d une activité 3 Pause et unpause 4 Arrêt et redémarrage 5 Destruction 6 Restauration

Plus en détail

Développez une application Android Programmation en Java sous Android Studio

Développez une application Android Programmation en Java sous Android Studio Environnement de développement 1. Architecture d Android 9 1.1 Présentation d Android 9 1.2 Architecture 12 1.3 Play Store 13 2. Android Studio 14 2.1 Installation sous Windows 14 2.2 Installation sous

Plus en détail

TP : Mise en oeuvre de MVC

TP : Mise en oeuvre de MVC Université de Lille 1 - Master 1 informatique 2012-2013 IHM TP : Mise en oeuvre de MVC Objectifs se familiariser avec les patrons de conception observateur et stratégie, se familiariser avec la conception

Plus en détail

Les Intents. Frédéric Guinand. Université du Havre. frederic.guinand@univ-lehavre.fr

Les Intents. Frédéric Guinand. Université du Havre. frederic.guinand@univ-lehavre.fr frederic.guinand@univ-lehavre.fr Université du Havre Plan introduction Intents de quoi s agit-il? comment construire un Intent comment utiliser les Intents pour transmettre des informations entre composants?

Plus en détail

Android, introduction

Android, introduction Android, introduction Sébastien Jean IUT de Valence Département Informatique v1.1, 7 novembre 2012 Android en bref Android est un système d exploitation développé depuis 2003, apparu officiellement en

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

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

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

Plus en détail

L'API Google de géolocalisation pour Android. JMF (Tous droits réservés)

L'API Google de géolocalisation pour Android. JMF (Tous droits réservés) L'API Google de géolocalisation pour Android 1 La (géo)localisation : le sytème GPS GPS = Global Positionning System 24 satellites (au moins) tournant autour de la terre et diffusant leur position et l'heure

Plus en détail

TP2 : Client d une BDD SqlServer

TP2 : Client d une BDD SqlServer TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc

Plus en détail

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Introduction Le but de ce TP est de programmer une application à la norme EJB en utilisant le serveur d application JBoss. Matériel requis - JBoss

Plus en détail

APPLICATIONS JAVA. Ivan MADJAROV - 2014. Applications Java sous Android IvMad, 2011-2014 2

APPLICATIONS JAVA. Ivan MADJAROV - 2014. Applications Java sous Android IvMad, 2011-2014 2 APPLICATIONS JAVA Android Partie IV Ivan MADJAROV - 2014 Applications Java sous Android IvMad, 2011-2014 2 4. Application réseaux, Bluetooth, Wi-Fi, TCP, Géolocalisation Android L'objectif principal de

Plus en détail

Cas EDF : Développement Android - Concepts avancés Partie 5

Cas EDF : Développement Android - Concepts avancés Partie 5 Cas EDF : Développement Android - Concepts avancés Partie 5 Cette publication comporte cinq parties dont l ordre est dicté par la logique du développement. Les parties 2 et 3 sont facultatives. Partie

Plus en détail

OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS

OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS OCLOUD BACKUP GUIDE DE REFERENCE POUR WINDOWS http://ocloud.pripla.com/ Copyright 2014 Private Planet Ltd. Certaines applications ne sont pas disponibles dans tous les pays. La disponibilité des applications

Plus en détail

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé Projet ROSES Programme MDCO Edition 2007 Livrable no D1.2 Architecture d un Système ROSES centralisé Identification Acronyme du projet Numéro d'identification de l'acte attributif ROSES ANR-07-MDCO-011-01

Plus en détail

Modèle à messages. Daniel Hagimont. IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7. Remerciements.

Modèle à messages. Daniel Hagimont. IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7. Remerciements. Modèle à messages Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr Remerciements André Freyssinet 1 Plan

Plus en détail

Développement mobile sous Android TP1: Une première application avec un écran d accueil

Développement mobile sous Android TP1: Une première application avec un écran d accueil Développement mobile sous Android TP1: Une première application avec un écran d accueil Fabien Teytaud teytaud@lisic.univ-littoral.fr Eric Ramat September 18, 2013 1 Description Dans ce TP nous allons

Plus en détail

Soutenance du Projet ASR. Application Client Android / Serveur JEE pour la recherche de ressources pédagogiques et de compétences

Soutenance du Projet ASR. Application Client Android / Serveur JEE pour la recherche de ressources pédagogiques et de compétences Soutenance du ASR Application Client Android / Serveur JEE pour la recherche de ressources pédagogiques et de compétences MIMI Hamza TCHIBOZO KEKELE Kanut 1 Encadrés par : Sébastien LERICHE Claire LECOCQ

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

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

Cartes, géocodage et services de géolocalisation

Cartes, géocodage et services de géolocalisation 8 Cartes, géocodage et services de géolocalisation Au sommaire de ce chapitre : Géocodage avant et inverse Créer des cartes interactives avec les Map Views et les Map Activities Créer et ajouter des Overlays

Plus en détail

Programmation de composant mobiles aka Android

Programmation de composant mobiles aka Android Programmation de composant mobiles aka Android Wies law Zielonka December 10, 2015 La taille et densité de l écran Taille et densité Les tailles de l écran : small normal large xlarge Les densités : low(ldpi)

Plus en détail

BTS Services Informatiques aux Organisations 2014/2015 2 ème année Lycée A. Malraux. 1- Descriptif fonctionnel de l'application pour la construction

BTS Services Informatiques aux Organisations 2014/2015 2 ème année Lycée A. Malraux. 1- Descriptif fonctionnel de l'application pour la construction Application SIOQuiz 1- Descriptif fonctionnel de l'application pour la construction Objectif Construire une application Android proposant un Quiz sur des noms de films et d'acteurs à retrouver en fonction

Plus en détail

Tutoriel Ionic framework

Tutoriel Ionic framework INGÉNIEURS EN SCIENCES INFORMATIQUES ADAPTATION DES INTERFACES A L ENVIRONNEMENT Tutoriel Ionic framework Tutoriel et présentation du framework IONIC : technologie permettant la réalisation d applications

Plus en détail

Application Android par défaut

Application Android par défaut Projet Android À la création d un projet Android (IDE netbeans) tout un ensemble de répertoires et de fichiers sont engendrés. Source Packages : là où seront les sources de votre application. Generated

Plus en détail

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE INTRODUCTION À JAVA EE 1 LA NÉBULEUSE JAVA Java Micro Edition (JME) développement d applications embarquées Java Standard Edition (JSE) développement d applications classiques Java Enterprise Edition (JEE)

Plus en détail

Programmation de composant mobiles aka Android

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

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

UPMC/Licence/Info/2I013 Flowdroid Android. Janvier 2015. Exemple de mise en œuvre

UPMC/Licence/Info/2I013 Flowdroid Android. Janvier 2015. Exemple de mise en œuvre UPMC/Licence/Info/2I013 Flowdroid Android Janvier 2015 Exemple de mise en œuvre Un jeu pour les enfants programmeurs Une variante du taquin Une grille 9x9 dont les cases contiennent les chiffres de 1 à

Plus en détail

Développement d'une application Android avec PhoneGap

Développement d'une application Android avec PhoneGap Développement d'une application Android avec PhoneGap Olivier Dommange Avant-propos PhoneGap permet le développement d'applications pour plusieurs systèmes d'exploitations de smartphones et tablettes (ios,

Plus en détail

APPLICATIONS JAVA. 4. Géolocalisation, Géocodage, Wi-Fi, Bluetooth, Applications réseaux TCP. Android Partie IV

APPLICATIONS JAVA. 4. Géolocalisation, Géocodage, Wi-Fi, Bluetooth, Applications réseaux TCP. Android Partie IV APPLICATIONS JAVA Android Partie IV Ivan MADJAROV - 2014 Applications Java sous Android IvMad, 2011-2015 2 4. Géolocalisation, Géocodage, Wi-Fi, Bluetooth, Applications réseaux TCP L'objectif principal

Plus en détail

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d

Plus en détail

TD/TP 1 Introduction au SDK d Android

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

Plus en détail

TUTO 2 - ANDROID : BONJOUR QUI?

TUTO 2 - ANDROID : BONJOUR QUI? TUTO 2 - ANDROID : BONJOUR QUI? Dans ce tutoriel, on va développer une application assez simple. Ce tutoriel va permettre de découvrir des composants graphiques (Textfield, EditText et Bouton). Un aperçu

Plus en détail

Mobile : Application Native et Cross Platform avec Xamarin Introduction JEROME ROMAGNY

Mobile : Application Native et Cross Platform avec Xamarin Introduction JEROME ROMAGNY 2014 Mobile : Application Native et Cross Platform avec Xamarin Introduction JEROME ROMAGNY I. ANDROID... 2 1. APPLICATION NATIVE... 2 A. Installation... 2 AppInventor... 3 Emulateur... 3 B. Anatomie d

Plus en détail

Exploration de la programmation android

Exploration de la programmation android Réalisé par: BOUHJJA Lamia Exploration de la programmation android Formation Assurer par: Club FreeWays SOMMAIRE : La création d un programme I. Introduction ANDROID générale II. Exploration de sa hiérarchie

Plus en détail