DÉVELOPPEMENT ANDROID
|
|
|
- Antonin Briand
- il y a 10 ans
- Total affichages :
Transcription
1 DÉVELOPPEMENT ANDROID ESIEE / Key Consulting Partie 2 v
2 INTENT Key Consulting
3 INTENT Intent : intention Une Intent est une agrégation d informations, décrivant de manière abstraite une action devant être effectué Informations principales Une action : une String nommant l action désirée Une donnée : une String, sous la forme d un URI, permettant d identifier ou de localiser la ressource sujette de l action URI : scheme://host:port/path
4 INTENT Informations secondaires : Une ou plusieurs catégories : une catégorie donne une indication au système sur le genre de composant attendu Un type : correspond à un type MIME, identifiant spécifiquement le type des données Un nom de composant : défini le nom exact de la classe du composant qui sera utilisé Extras : informations supplémentaires, sorte de HashTable
5 INTENT - UTILISATION startactivity startactivityforresult startservice BroadcastReceiver
6 INTENT Une Intent est un message adressé : Au système À un composant : Service, Activity ou Broadcast Receiver Au système, l intent indique à quel composant elle s adresse Au composant, l intent indique les paramètres et données annexes à utiliser
7 UTILISER UNE INTENT EXPLICITE Une intent est explicite si elle indique explicitement le nom du composant a utiliser En donnant le nom complet de la classe Package + nom de classe En donnant le type de la classe Uniquement dans ma propre application
8 EXEMPLE Intent i1 = new Intent(); Intent.setClassName( fr.myapp.mypkg, MyActivity ); Intent i2 = new Intent(); Intent.setClass(getApplicationContext(), MyActivity.class);
9 UTILISER UNE INTENT IMPLICITE Un intent est implicite si elle ne précise pas le nom du composant à utiliser Permet de demander au système un composant dont on ne connaît pas le type exact
10 INTENT - EXEMPLE Exemple 1 action: android.intent.action.insert data: content://com.google.provider.notepad/notes Demander l activité permettant la création d une nouvelle note dans la liste content://com.google.provider.notepad/notes et permettant à l utilisateur de l éditer Exemple 2 action: com.android.notepad.action.edit_title data: content://com.google.provider.notepad/notes/id Demander l activité permettant d afficher le titre de la note ID, et autorisant l utilisateur à editer ce titre
11 INTENT Appeler un composant de son application ou d une autre application Pas d appel direct au constructeur Limite les dépendances fortes entre composant Dépendance faible Le composant a besoin d une fonctionnalité Et non plus d une implémentation
12 SÉLECTION D UN COMPOSANT (IMPLICITE) Le système recherche parmi les applications installées une activité ou un service Chaque application, pour chaque activité et service, peut déclarer une balise <intent-filter> Cette balise est utilisé par le système pour déterminer si l activité ou le service est un candidat potentiel
13 <INTENT-FILTER> Associé à une balise <activity>, <service> Décrit les intents auquel le composant peut répondre <intent-filter> peut contenir 3 types de balises filles : <action> : filtre en fonction du nom de l action <category>: filtre en fonction du nom de la catégorie <data> : filtre en fonction de l URI en comparant le schéma, la source, le chemin d accès sur l hôte (en entier, par préfixe ou suffixe), ainsi que le type MIME
14 <INTENT-FILTER> - EXEMPLES <intent-filter android:label="@string/resolve_title"> <action android:name="com.android.notepad.action.edit_title" /> /> <category android:name="android.intent.category.default" <category android:name="android.intent.category.alternative" /> <category android:name="android.intent.category.selected_alternati VE" /> <data android:mimetype="vnd.android.cursor.item/vnd.google.note" /> </intent-filter>
15 INTENT ACTION PRÉDÉFINI Voir la classe android.content.intent Exemples : ACTION_VIEW ACTION_EDIT ACTION_PICK ACTION_DIAL ACTION_SEARCH
16 INTÉRET POUR L UTILISATEUR Remplacement des composants par défaut Faire apparaître votre fonctionnalité dans le menu d autres applications Proposer des menus d actions pour un type de données Voir PackageManager Uniformisation du fonctionnement Le même écran d édition de contact peut être utilisé partout
17 UTILISER LES SERVICES ANDROID Key Consulting
18 UTILISER LES SERVICES ANDROID Android propose un nombre de service par défaut Ces services donnent accès aux fonctionnalités du téléphone Wifi Bluetooth GPS Accéléromètres Recherche Informations système (batterie, vibreur, alarme)
19 WIFIMANAGER Gestion de la listes des réseaux disponibles et de leur état de connexion Information sur le réseau actuellement connecté Connexion/déconnexion Force du signal Nom/type de cryptage Ajout de nouveaux réseau Manuel Recherche des réseaux environnants Activation/déactivitation du Wifi
20 WIFI CONNEXION AU NET Package java.net Fonctionnement classique Création d un socket connect() getinputstream() / getoutputstream() close()
21 LOCATIONMANAGER Réception périodique de la position GPS du téléphone Déclenchement d une Intent lorsque le téléphone approche un certain endroit Récupération d informations : Nombre de satellites disponibles Précision de la position Etat d activité du module GPS Voir la classe LocationListener
22 GOOGLE MAPS Non disponible dans le SDK par défaut Nécessite l installation d API supplémentaires Installation depuis Eclipse Nécessite une inscription Procédure décrite : Fournit un vue UI : MapView
23 SEARCHMANAGER Fourni une interface utilisateur de recherche unifiée Voir le tutorial html Recherche vocale Système de proposition de suggestion Recherche dans les données de votre application Recherche globale
24 ALARMMANAGER Fonctionnalité «Reveil» du téléphone Programmer l exécution de votre application à un certain moment dans le futur Même lorsque votre application n est pas active Le lancement de votre application se fait grâce à une Intent Implémentation du BroadcastReceiver associé (utiliser les intents-filters!)
25 NOTIFICATIONMANAGER Indiquer à l utilisateur qu un événement intéressant est survenu Un icône persistante dans la barre de status Lancement d une application lorsque l utilisateur appuie sur l icône grâce à une Intent Allumer/Flasher l une des LEDs de l appareil Flash du rétro-éclairage, son, vibration
26 SENSORMANAGER Accès aux différents capteurs du téléphone Accéléromètre, gyroscope, capteur de luminosité, boussole, baromètre Récupération des mesures d un capteur en particulier Méthodes pour déterminer l orientation du téléphone Calcul de la matrice de rotation Calcul du vecteur d orientation
27 UTILISER LES SERVICES Depuis une activité getsystemservice(string name) Le paramètre «name» est une des constantes définies par la classe android.context.context Exemple WifiManager wifi = getsystemservice( Context.WIFI_MANAGER);
28 UTILISER LES SERVICES La plupart des services propose des interfaces d écoute Identifier l interface/classe abstraite à implémenter ou étendre (appelé «listener») Identifier la méthode du service permettant l enregistrement auprès du service (en général addlistener)
29 UTILISER LES SERVICES Bien lire la documentation et les recommandations fournies par Google Plusieurs services consomment de l énergie La documentation fournie des informations sur le fonctionnement attendue par l utilisateur Quand/comment le service est activé? Qui le désactive?
30 DALVIK VM Key Consulting
31 VIRTUAL MACHINE VM : Virtual Machine Environnement d exécution virtuel Cache les détails matériels de l architecture Jeu d instruction indépendant du processeur -> bytecode Indépendance vis-à-vis du type de RAM utilisé -> 32/64bits, endianness Fournit des services supplémentaires Ramasse-miettes / Garbage collector (GC) Sécurité : vérification à l exécution
32 VM - BYTECODE Code intermédiare, entre L assembleur (code natif/machine) Et le langage de programmation Code interprété Le processeur ne peut l exécuter directement Il doit être traduit dans le jeu d instruction du processeur Une VM est donc un interpréteur de bytecode Problème : beaucoup plus lent que du code natif
33 JIT COMPILER Just in Time, compilateur juste à temps Compile le bytecode en code natif, a la volée, lors de l exécution du programme Enormement d implémentation différentes Quand compiler? Installation, lancement, appel de la méthode, chargement d une instruction Quel objet compiler? Programme, dépendance, methode, trace, instruction
34 FACTEURS DE CHOIX Contraintes d une plateforme mobile Temps de compilation Les applications ont un temps d exécution court Espace mémoire utilisé Le JIT ne doit pas altérer l expérience utilisateur négativement Possibilités d optimisation Optimiser un code nécessite de comprendre son contexte d exécution
35 PAR MÉTHODE JVM, CLR Détection des méthodes les plus utilisés Compile et optimise par méthodes Points forts : Bonne capacité d optimisation Méthode la plus simple Points faibles : Le code mort dans les méthodes est optimisé Délai important avant d obtenir le boost de performance
36 PAR TRACE Dalvik Identification de chemins d exécution souvent utilisés Points forts : Seul le code exécuté est optimisé Le boost de performance arrive très vite Points faibles : Optimisation plus difficile Implémentation plus complexe
37 DALVIK TRACE JIT Démarrer Interpréter jusqu au prochain branchement Non Traduction 1 Cache Mise à jour du compteur Interprétation Seuil dépass é? Oui Traduction 2 Compilation Non Déjà compilé? Oui Thread Compilateur Installer nouvelle traduction
38 DALVIK JIT - PERFORMANCES Utilisation mémoire faible Gain de performance significatif 2x - 5x sur des applications type calcul intensif Disponible à partir de Android 2.2
39 THREADING Key Consulting
40 INTRODUCTION Parallélisme Thread Fil d exécution P1 IPC P2 Tâche T1 T1 T2 Caractéristique Dans un même processus Partage le même espace mémoire Mémoire Mémoire
41 ANATOMIE D UNE APPLICATION ANDROID Une application = un processus Par défaut, Android crée et lance un unique thread Ce thread est appelé le thread principal, ou aussi le thread UI Vous pouvez créer, lancer et gérer vos propres threads Même API que J2ME, J2EE
42 ANATOMIE D UNE APPLICATION ANDROID Le thread UI exécute un Looper Un Looper Une file de messages à traiter Une boucle traitant les message un par un Types de messages Evénement utilisateur Animations Evénement déclenché par le développeur Types développeur Message Runnable
43 THREADING Objectif : éviter de rendre l interface utilisateur inactive Tout le code de l UI s exécute sur le même thread Le code appelé depuis l interface aussi Si le traitement est long, l application ne répond plus aux interactions de l utilisateur => Erreur ANR (Application Not Responding)
44 THREADING Type d'opérations longue pouvant survenir : Calcul intensif Lecture/Ecriture dans la mémoire flash Jusqu à 200/400ms Lecture/Ecriture sur le réseau Jusqu à plusieurs secondes
45 EXEMPLE savebutton.setonclicklistener(new OnClickListener() { void onclick(view v) { Thread t = new Thread() { void run() { Bitmap b = loadimagenet(); mimage.setimagebitmap(b); } } } t.start(); });
46 THREADING Malheuresement, le code précédant ne fonctionne pas Le framework UI n est pas thread-safe Modèle «single-thread» Manipuler l UI depuis un autre thread est dangereux Bugs apparaissant aléatoirement Difficile et long à debugger
47 THREADING - UI La manipulation de l interface doit se faire sur le thread UI Si on a accès une instance de l UI : Activity.runOnUiThread(Runnable r) View.post(Runnable r) Sinon Solution générique : Handler Solution spécifique : AsyncTask Détection de mauvaise utilisation Strict Mode
48 THREADING - ASYNCTASK public void onclick(view v) { new DownloadImageTask().execute(" } private class DownloadImageTask extends AsyncTask<string, void, Bitmap> { protected Bitmap doinbackground(string... urls) { } return loadimagefromnetwork(urls[0]); } protected void onpostexecute(bitmap result) { } mimageview.setimagebitmap(result);
49 THREADING - HANDLER Permet l ajout de Message ou Runnable dans la file d un Looper Le Looper peut être passer au constructeur Par défaut, utilise le Looper du thread sur lequel il a été instancié
50 THREADING - EXEMPLE Handler h = new Handler(); savebutton.setonclicklistener(new OnClickListener() { void onclick(view v) { Thread t = new Thread() { void run() { Bitmap b = loadimagenet(); h.post(new Runnable() { mimage.setimagebitmap(b); } } } } t.start(); });
51 APPLICATIONS WEB Spécifiques pour Android
52 GÉNÉRALITÉS 2 méthodes pour apporter du contenu web : WebApplication : un site web Mixte : un application qui contient un WebView Possibilité d adapter le contenu web spécifiquement pour Android Possibilité d utiliser l API Android via JavaScript
53 WEB APPS ET TAILLE D ÉCRAN 2 éléments à prendre en compte : La taille de la zone d affichage et le niveau de zoom La densité de l écran (dpi) Via le navigateur : Par défaut la page est affichée en entier (Overview mode) Possibilité de surcharger ce comportement et de spécifier les bornes min et max du zoom. Via un WebView : Par défaut, le zoom est réglé à 100%
54 VIEWPORT METADATA Le ViewPort est la zone d affichage de la page web. Il peut avoir une résolution indépendante de l écran. <meta name="viewport" content=" height = [pixel_value device-height], width = [pixel_value device-width ], initial-scale = float_value, minimum-scale = float_value, maximum-scale = float_value, user-scalable = [yes no], target-densitydpi = [dpi_value device-dpi high-dpi medium-dpi low-dpi] " />
55 VIEWPORT METADATA : TAILLE Height / Width Le mode overview à une largeur par défaut de mini 800px Spécifier la largeur permet de «coller» à la page web Width Les valeurs > sont ignorées Les valeurs <=320 sont interprétées comme «devicewidth» Heigth Les valeurs <200 et >10000 sont ignorées device-height / device-width Adpate le ViewPort à l écran physique
56 VIEWPORT METADATA : ZOOM initial-scale Facteur de zoom de la page [ ] Le zoom par défaut est calculé pour faire correspondre la page à la taille du ViewPort. minimum-scale Niveau de zoom minimum maximum-scale Niveau de zoom maximum user-scalable yes no Autorise ou non l utilisateur à effectuer des zoom.
57 VIEWPORT METADATA : DENSITÉ La densité par défaut est «medium» Soit 0.75x sur un écran «low» Soit 1.5x sur un écran «high» target-densitydpi device-dpi : Densité de l écran physique, sans zoom. high-dpi / medium-dpi / low-dpi : Force une densité. <value> : Force une densité exprimée en dpi. Afficher sans déformation : <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width" />
58 VIEWPORT METADATA : DENSITÉ width=device-width ou initial-scale=1.0 width=device-width, target-densitydpi=device-dpi
59 RÉGLER LA DENSITÉ VIA CSS Possibilité de définir des CSS différentes pour chaque densité <link rel="stylesheet" media="screen and (-webkitdevice-pixel-ratio: 1.5)" href="hdpi.css" /> <link rel="stylesheet" media="screen and (-webkitdevice-pixel-ratio: 1.0)" href="mdpi.css" /> <link rel="stylesheet" media="screen and (-webkitdevice-pixel-ratio: 0.75)" href="ldpi.css" />
60 RÉGLER LA DENSITÉ VIA JAVASCRIPT Propriété du DOM «devicepixelratio», gérée par WebView et le navigateur Android if (window.devicepixelratio == 1.5) { alert("this is a high-density screen"); } else if (window.devicepixelration == 0.75) { alert("this is a low-density screen"); }
61 WEBVIEW : EXEMPLE Activity Layout <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android=" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> Chargement d une page WebView mywebview = (WebView) findviewbyid(r.id.webview); mywebview.loadurl(" Autoriser l application à utiliser Internet <manifest... > <uses-permission android:name="android.permission.internet" />... </manifest>
62 WEBVIEW : JAVASCRIPT Désactivé par défaut WebView mywebview = (WebView) findviewbyid(r.id.webview); WebSettings websettings = mywebview.getsettings(); websettings.setjavascriptenabled(true) Possibilité de lier du JavaScript à du code Android (binding) On donne l accès au JavaScript à une instance de classe Java WebView se charge d initialiser l interface, les fonctions sont directement accessible du JavaScript Exécution dans un thread séparé Sécurité : Ne pas autoriser la navigation vers d autres pages
63 WEBVIEW : JAVASCRIPT - EXEMPLE public class JavaScriptInterface { Context mcontext; /** Constructeur : initialise le contexte */ JavaScriptInterface(Context c) { mcontext = c; } } /** Affiche un toast sur la page */ public void showtoast(string toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } webview.addjavascriptinterface(new JavaScriptInterface(this), "Android"); <input type="button" value="say hello" onclick="showandroidtoast('hello Android!')" /> <script type="text/javascript"> function showandroidtoast(toast) { Android.showToast(toast); } </script>
64 WEB APPS : DEBUG Navigateur Android : utilisation des fonctions console de l API JavaScript. console.log("un message"); Les messages apparaissent dans le logcat. C est un log des messages systèmes. Avec Eclipse : Window > Show View > Other > Android > Logcat WebView Implémenter WebChromeClient et surcharger la méthode onconsolemessage() Différent si API Level 7 ou 8 (Android 2.1 ou 2.2)
65 WEB APPS : BONNES PRATIQUES Implémenter une version spécifique du site pour les smartphones Redirection automatique Frameworks multi-plateformes : jquery Utiliser les meta-données pour configurer le viewport Limiter les accès à d autres fichiers : Inclure éventuellement la CSS dans la page Compresser / optimiser : Minify Scrolling vertical uniquement
66 FRAMEWORKS Open source et multiplateformes
67 FRAMEWORKS On chercher à développer une fois et à déployer sur plusieurs plateformes. 3 exemples : PhoneGap Titanium (Appcelerator) Rhodes (Rhomobile)
68 PHONEGAP Open source (MIT Licence) Gratuit Cibles : ios, Android, BlackBerry, Symbian, Palm Langages : HTML, JavaScript, CSS Pas d apparence «Native» APIs identiques à HTML5, le projet a une durée de vie limitée.
69 PHONEGAP Key Consulting
70 TITANIUM (APPCELERATOR) Open source (Apache Public v2.0) Gratuit / $199 / $499 Cibles : ios, Android Langages : HTML, JavaScript, CSS Apparence Native Recompilation nécessaire pour chaque cible
71 TITANIUM (APPCELERATOR) API Graphique avancée Supporte : Géolocalisation Accéléromètre Vibreur Son (enregistrement et lecture) Caméra SQLite Multitouch Copier/Coller Téléphone Accès aux fichiers locaux (+contact et photos)
72 RHODES(RHOMOBILE) Open source (MIT Licence) Gratuit / $1000 Cibles : ios, Android, BlackBerry, Windows Mobile, Symbian Langages : HTML, Ruby Apparence Native Déploiement possible via RhoSync Meilleurs performances que les 2 précédents.
73 RHODES(RHOMOBILE) Open source (MIT Licence) Gratuit / $1000 Cibles : ios, Android, BlackBerry, Windows Mobile, Symbian Langages : HTML, Ruby Apparence Native Déploiement possible via RhoSync Meilleurs performances que les 2 précédents.
74 RHODES(RHOMOBILE) Key Consulting
75 FRAMEWORKS Framework PhoneGap Nombre de plateformes supportées Pas d apparence native Titanium Apparence native ios et Android seulement Rhodes Nombre de plateformes supportées Performances Nombre de fonctionalités
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
Les fondamentaux du développement d applications Java
Android 5 Les fondamentaux du développement d applications Java Nazim BENBOURAHLA Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez
Responsive Web design, périphériques mobiles et accessibilité
Responsive Web design, périphériques mobiles et accessibilité Qui suis-je? Victor Brito Situé près de Paris, dans la France non voisine Intégrateur HTML / CSS freelance Expert Accessiweb en évaluation
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
Point sur les solutions de développement d apps pour les périphériques mobiles
Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle
Android. Présentation d Android. Florent Garin http://www.docdoku.com http://twitter.com/docdoku
Android Présentation d Android 20 novembre 2010 Florent Garin http://www.docdoku.com http://twitter.com/docdoku Florent Garin Co-fondateur de DocDoku Société innovante IT http://www.docdoku.com Co-fondateur
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
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
Développement d applications professionnelles avec Android 2
Développement d applications professionnelles avec Android 2 Reto Meier Traduit par Dalil Djidel, avec la contribution technique d Arnaud Farine Pearson Education France a apporté le plus grand soin à
Table des matières. Partie I Concepts de base... 1. Préface... VII
Table des matières Préface... VII Partie I Concepts de base... 1 1. Tour d horizon... 3 Avantages et inconvénients de la programmation des smartphones... 3 Contenu d un programme Android... 4 Fonctionnalités
Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training xavier.paradon@valtech-training.
Mardi 17 Novembre 2009 Paris, la Défense Iphone vs. Android Xavier PARADON, Directeur Technique Valtech Training [email protected] Anthony DAHANNE, Consultant Valtech Technology Consulting
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
DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS
SI 2.0 DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS REF : SIMO002 DUREE : 2 JOURS TARIF : 1 450 HT Public DSI, responsables informatiques et études, Architectes, responsables de projets, chefs de
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
Optimiser pour les appareils mobiles
chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,
Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :
Plate formes mobiles IFC 2 Markus Jaton Utilisation Deux utilisations assez distinctes : Téléphones évolués (Nokia, Motorola) Smartphones (Apple,, Windows) La téléphonie est en stagnation, alors que les
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Serveur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
UN SITE WEB RESPONSIVE EN UNE HEURE?
UN SITE WEB RESPONSIVE EN UNE HEURE?! O N O R H C P TO Raphaël Goetter Raphaël Goetter alsacreations.fr alsacreations.com goetter.fr knacss.com mobitest.me @goetter EN UNE HEURE, VOUS AVEZ DIT?!? R E N
Auteur LARDOUX Guillaume Contact [email protected] Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA
Auteur LARDOUX Guillaume Contact [email protected] Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2
Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer
Programmation des applications mobiles avec Android 1 Inspiré du cours de Olivier Le Goaer 2 OS mobile : outils de développement D après le cours de Olivier Le Goaer 3 Plateforme de développement MobileApp
Java - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Xavier Costa. «Write once, run anywhere»
Xavier Costa «Write once, run anywhere» 2 Xavier COSTA [CODENAME ONE : «WRITE ONCE, RUN EVERYWHERE] Déclaration Ce travail de diplôme est réalisé dans le cadre de l examen final de la Haute école de gestion
Programmation 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
Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles
Programmation Android De la conception au déploiement avec le SDK Google Android 2 Damien Guignard Julien Chable Emmanuel Robles Avec la contribution de Nicolas Sorel et Vanessa Conchodon Groupe Eyrolles,
Introduction ANDROID
Introduction ANDROID 1 Un monde ouvert Première plateforme ouverte pour appareils mobiles.les applications natives et tierces utilisent les mêmes API. Un système d exploitation open source libre pour appareils
Bases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Tutorial pour une application simple
ANDROID & ECLIPSE Tutorial pour une application simple 1. Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Pour en expliquer le principe, on se limitera à deux exemples :
Les Media Queries permettent donc de cibler : Le type de média La taille de l'écran La taille de la fenêtre La résolution Le nombre de couleurs L'orientation Pour en expliquer le principe, on se limitera
RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?
RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite? Medialibs, votre partenaire digital Quoi? Un partenaire pour une gestion globale du digital (un laboratoire R&D, éditeur de logiciels
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
NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Initiation à JAVA et à la programmation objet. [email protected]
Initiation à JAVA et à la programmation objet [email protected] O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Firefox pour Android. Guide de l utilisateur. [email protected]
Firefox pour Guide de l utilisateur [email protected] Table des matières À propos de Mozilla Firefox pour... 3 Prise en main... 4 Mise à niveau de la navigation mobile... 5 Déplacez-vous à la Vitesse
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Les API ArcGIS pour les smartphones
Séminaire Partenaires Esri France 7-8 juin 2011 - Paris Les API ArcGIS pour les smartphones Patrice Freydière Olivier Rossini Sommaire Introduction - Positionnement - Fonctionnalités communes - Architecture
Développement tablette Android. SophiaConf2011 Par Arnaud FARINE
Développement tablette Android SophiaConf2011 Par Arnaud FARINE Parts de marché Android en 2011 1er OS vendu aux EU fin 2010 24% des smartphones en France (35% ios, 11% Blackberry) 3,6 millions de smartphones
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) 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
Présentation du Framework BootstrapTwitter
COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...
Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David
Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server
Machines Virtuelles. et bazard autour. Rémi Forax
Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]
Environnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
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
WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.
WINDEV MOBILE ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8. WINDOWS Mobile permet de créer des applications pour les smartphones, les tablettes et les terminaux mobiles. Les applications sont
HTML. Notions générales
1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS
Introduction aux Machines Virtuelles avec VMKit
Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime
Portabilité sur système Android d un système de borne d information
INSA DE RENNES STAGE D ÉTÉ Portabilité sur système Android d un système de borne d information Stagiaire : Vincent LE BIANNIC 4ème année, Informatique Maître de stage : M. Michel BRIAND Août 2011 Remerciements
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
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Vulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers
- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers vendredi 22 février 2013 Installation : Pour programmer des applications Android, il faut tout d abord veiller à disposer
Android,iOS,W indow s Phone 8 :
Android,iOS,W indow s Phone 8 : les développeurs parlent aux développeurs Nous avons demandé à notre équipe de développeurs de partager leur retour d expérience sur les trois plateformes majeures du :
Manipulation 4 : Application de «Change».
Manipulation 4 : Application de «Change». Première partie : Cette manipulation a pour but d utiliser un service Web afin d obtenir les taux de change appliqués entre les différentes monnaies référencées
MANUEL UTILISATEUR. Application 4trip
* MANUEL UTILISATEUR Application 4trip Table des matières 1. Introduction... 1 1.1. Description globale du produit... 1 1.2. Description de la finalité du manuel... 1 2. Manuel d utilisation... 2 2.1.
Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»
Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows» 1 Introduction... 2 2 Contrôle de la version d Internet Explorer... 3 3 Contrôle de la Machine Virtuelle Java de Microsoft...
INITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Guide d utilisation. Version 1.1
Guide d utilisation Version 1.1 Guide d utilisation Version 1.1 OBJECTIF LUNE Inc. 2030 boulevard Pie-IX, bureau 500 Montréal (QC) Canada H1V 2C8 +1 514-875-5863 [email protected] http://captureonthego.objectiflune.com
Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction
Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction jean-michel Douin, douin au cnam point fr version : 8 Décembre 2014 Notes de cours 1 Sommaire Le socle, les fondements Le patron
TP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
HTML. Google Maps. Approfondir. 3 :HIKONB=^UZ^Z]:?k@l@g@h@a"; Codez une fois, déployez sur Android, ios, Kindle... Smartphones. Matériel.
100 % développeur Mensuel n 167 - Octobre 2013 Approfondir HTML www.programmez.com Smartphones Avec Corona SDK Codez une fois, déployez sur Android, ios, Kindle... Google Maps Utiliser Maps et Street View
S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i
Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi
Android en action. Abdelkader Lahmadi Université de Lorraine - 2013
Android en action Abdelkader Lahmadi Université de Lorraine - 2013 Plan La boîte à outils JDK SDK Android Eclipse Plugin Android pour Eclipse Architecture et composants La main à la pâte Hello Android
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
LA MOBILITE : ACTEURS, OUTILS,
LA MOBILITE : ACTEURS, OUTILS, DEVELOPPEMENT, CONCEPTION, GESTION DE PROJET INTERVENTION MASTER DILIPEM Pascal Moutet, iseeds Software, 02/02/2012 PARCOURS ET FONCTIONS OCCUPEES Parcoursuniversitaire Parcoursprofessionnel
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
La carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Votre premier projet Android
3 Votre premier projet Android Maintenant que le SDK Android est installé, il est temps de créer votre premier projet. La bonne nouvelle est qu il n exige aucune ligne de code les outils Android créent
Création d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
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
3 Octobre 2013. Les Communautés MS
3 Octobre 2013 Les Communautés MS Développement Office 365 et SharePoint 2013 : Apps ou pas Apps? Qui suis-je? Gilles Pommier Consultant sénior MCT et co-fondateur de la société SmartView http://www.smartview.fr
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015
TABLE DES MATIERES Incorporer une feuille de calcul dans un fichier créé avec l Éditeur de texte de PLACE... 1 Avantages :... 1 Contraintes :... 2 Accéder à Microsoft OneDrive :... 2 Créer un classeur
Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - [email protected]
Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - [email protected] 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies
Gestion des différentes tailles d écran
25 Gestion des différentes tailles d écran Les écrans des terminaux Android, qui sont apparus sur le marché l année qui a suivi l apparition d Android 1.0, avaient tous la même résolution (HVGA, 320 480
geek Soyez le de l été! PHP 5.5 3 :HIKONB=^UZ^Z]:?k@b@g@p@a"; Découvrez Chrome, Firefox, IE, Safari Enquête écoles Diplômes : quel prix
100 % développeur Mensuel n 165 - juillet-août 2013 www.programmez.com Soyez le geek de l été! image du geek : istockphoto/peskymonkey Découvrez PHP 5.5 Picaxe, Leap Motion, Gadgeteer, Raspberry Pi : la
Structure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Module.NET 3 Les Assemblys.NET
Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly
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
Éléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix ([email protected]) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
App vs. WebApp Best Of Mobile 5 avril 2012
App vs. WebApp Best Of Mobile 5 avril 2012 La question! App ou Web App? APP versus WEBAPP Constats du marché 2. Modifiez le style du titre Marketing 3. Modifiez le style du titre Compatibilité Experience
Construire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry [email protected].
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry [email protected] Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion
GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection
PHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID. Projet de fin d étude VAP «Architecte de Services en Réseau»
DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID Projet de fin d étude VAP «Architecte de Services en Réseau» Guillaume Faure et Maxime Raoust Janvier 2010 Acteurs du projet Étudiants
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis 21.01.2014
APPLICATIONS MOBILES Catalogue de services 21.01.2014 Sommaire 1 2 Catalogue d applications mobiles types Organisation (5) Communication & Collaboration (3) Gestion d activités de services (3) CRM / B2C
Générer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Environnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis
Syfadis Nous vous aidons à réussir > Configuration du poste client REFERENCE : Syfadis LMS - 20/06/2007 AUTEUR : Equipe technique Syfadis Ce document est la propriété de Syfadis. Il ne peut être communiqué
Mobilité Comment Drupal peut-il nous aider? Jean-Baptiste Guerraz - [email protected]
Mobilité Comment Drupal peut-il nous aider? Jean-Baptiste Guerraz - [email protected] Jean-Baptiste Guerraz Directeur de projet / Adyax Je gère des projets Drupal majeurs pour des comptes tels que Société
