Maître – assistant à l’ISECS Architectures Mobiles Tarak Chaari Cours de Mastèr
Maître – assistant à l’ISECS Architectures Mobiles Tarak Chaari Cours de Mastère de recherche à l’ISECS Android Tarak CHAARI 2 2 Votre interlocuteur Tarak CHAARI Maître – Assistant à l’Institut Supérieur d’Electronique et de Communication de Sfax Thèse soutenue fin septembre 2007 à l’INSA de Lyon Recherche (ReDCAD – ENIS) l’adaptation dans les systèmes d’information pervasifs gestion sémantique de la qualité de service Enseignement (ISECS – ENIS) Ingénierie des systèmes d’information distribués Android Tarak CHAARI 3 3 Présentation générale de l’intervention Initiation à la programmation Android Prérequis: POO en Java & un peu d’XML Objectifs Présentation des enjeux des architectures mobiles Avoir une idée sur l’architecture Android Avoir une idée sur la programmation Mobile sous Android Android Tarak CHAARI 4 Introduction Android Tarak CHAARI 5 Constat Explosion du marché des terminaux mobiles Faible coût Marché grande consommation Evolution technologique exponentielle AVANT : Affichage limité 100x60 pour les écrans N/B 640x240 pour les terminaux avec écrans couleurs Faible mémoire Ne dépasse pas 1Mo de mémoire morte et vive réunies Faibles capacités de calcul Moyens de communication limités MAINTENANT : Hautes résolutions, GPS, WIFI, extension mémoire… L’évolution technologique dépasse le marché de développement Internet Intranet Intranet Android Tarak CHAARI 6 L’ordinateur : une tendance claire Android Tarak CHAARI 7 Évolution de l’utilisation d’internet Android Tarak CHAARI 8 Enjeux Fournir l’information partout et à tout moment Téléphone mobile PALM PDA Tablettes eBook / cartable électronique Android Tarak CHAARI 9 Origines Google? Pas tout à fait, c’est une PME américaine qui s’appelle Android créé en 2003 et rachetée par Google en 2005 Google voulait s’introduire dans le marché mobile (pas réussi au début) L’objectif est d’avoir un OS mobile qui peut apercevoir la situation de l’utilisateur (notamment l’emplacement géographique) En 2007, Apple dévoile l’Iphone (un gouffre de technologie apparait) Android Tarak CHAARI 10 L’influence de l’Open Handset Alliance (OHA) (1/2) En novembre 2007, l’OHA a été créé par 35 entreprises dont Google Android Tarak CHAARI L’influence de l’Open Handset Alliance (OHA) (2/2) 11 L’objectif est d’avoir des standards open source pour les appareils mobiles Et pourquoi pas un OS mobile open source pour concurrencer les OS propriétaires iOS et Windows Mobile (à l’image de Linux par rapport à MacOS et Windows)? Android est ainsi né de l’OHA qui a attiré des dixaines d’autres entreprises y compris Samsung, LG, HTC, Asus… (plus de 80 à l’heure actuelle) Android Tarak CHAARI 12 Philosophie et avantages d’android (1/2) Open Source Gratuit (même pour les constructeurs) 25$ pour publier des applications android via le market (play store) publier autant d’application qu’on veut à vie pour 25 $ Facile pour le développement API très complète basé sur JDK 1.6 (+ d’autres classes complémentaires) API simple de haut niveau (2 lignes de code pour envoyer un SMS) Facile à vendre (via le play store) Android Tarak CHAARI 13 Philosophie et avantages d’android (2/2) Flexibilité s’adapte à différentes architectures matérielles (avec clavier, tactile, téléphones, tablettes et même micro-ondes) distribution intelligente Exemple : application nécessitant bluetooth ne sera visible qu’à partir des terminaux avec bluetooth) Ingénieux réutiliser le maximum de l’existant et combiner les composants : Exemple : utiliser le répertoire téléphonique Combiner les composants (Appareil photo + GPS par exemple) Collecte de contributions d’amateurs (avantage de l’open source) Android Tarak CHAARI 14 Contraintes du développement mobile (1/2) Peu de mémoire (8 fois moins qu’un PC en général) Respecter l’ordre de priorité des tâches Les applications doivent interagir avec le système sans le bloquer Un SMS ou un appel est toujours plus prioritaire que les autres applications Respecter des contraintes de sécurité plus strictes risque d’abimer le matériel est plus fort Autonomie (des jeux/applications usent toute la batterie en 30 min) Android Tarak CHAARI 15 Contraintes du développement mobile (2/2) Puissance de calcul limité (risque de surchauffe) Taille de l’écran Réduite voire variable L’interface doit d’adapter à plusieurs écrans (risque de perdre des utilisateurs) Nature de l’écran avec stylet petits composants sensitif composants plus gros Hétérogénéité (langues, composants matériels, versions de l’OS…) Utilisateur plus exigeant (ce ne sont plus les mêmes besoins qu’avec un Nokia 3310) Android Tarak CHAARI 16 Java : un choix stratégique Portabilité (la plus grande motivation) Partager le même langage et la même conception depuis les serveurs jusqu’aux terminaux Programmes compacts et portables Ateliers et Outils homogènes Interaction plus évoluée que les applications WEB Gestion complète des ressources matérielles Android Tarak CHAARI 17 Les technologies actuelles JAVA Coté serveur : J2EE Développement standard (PC) : J2SE Coté clients légers : J2ME Android Pour les systèmes embarqués : EmbeddedJava Pour les cartes à puces : JavaCard Android Tarak CHAARI 18 Architecture d’Android Une architecture complexe pour vous rendre la vie plus facile Android Tarak CHAARI 19 Architecture à couches Android Dalvik VM, au lieu de JVM Machines à registres Chaque application à sa propre DVM Communication inter-applications assurée par le middleware Multi thread assuré par Linux Accès à la couche matérielle par le noyau Linux Android Le noyau android Noyau standard Linux assurant : Gestion de mémoire et de processus Gestion de la pile réseau Gestion des pilotes des capteurs Gestion des permissions d’accès Avec quelques retouches pour le matériel du mobile : Alarm Process Binder Power Management Low Memory Killer Kernel Debugger Logger Android Tarak CHAARI Gestion de l’énergie avec le noyau android (1/2) Gestion de l’énergie Problème Limite de la capacité des batteries et sa dégradation continue avec leur utilisation Propriétés du module de gestion d’énergie (PM) PM est basé sur la gestion standard de l’énergie dans un noyau linux PM ajoute des règles un peu plus agressives pour préserver l’énergie Principe de la course à la mise en veille (Race to idle) Les couches supérieures demande d’activer les composants matériels à travers des signaux appelés “Wake Locks”. Support de plusieurs types de “Wake Locks”. Android Tarak CHAARI Gestion de l’énergie avec le noyau android (2/2) Fonctionnement du module de gestion d’énergie If there are no active wake locks, CPU will be turned off. If there are no partial wake locks, screen and keyboard will be turned off. Android Tarak CHAARI Environnement d’exécution Android (1/3) Core Libraries Fournit les fonctionnalités offertes par les librairies de bases du langage Java APIs Structures de données Utilitiés Gestion d’accès aux fichiers Accès au réseau Composants graphiques Etc Android Tarak CHAARI Environnement d’exécution Android (2/3) Dalvik Virtual Machine Fournit un environnement sur lequel toute application android est exécutée Chaque application Android est exécutée dans son propre processus et dans sa propre instance de Dalvik VM. Dalvik VM a été réalisé d’une façon efficace que la grande majorité des terminaux puissent exécuter plusieurs instances de la machine virtuelle sans problèmes. Machine virtuelle basée sur des registres et non sur une pile Android Tarak CHAARI Environnement d’exécution Android (3/3) Dalvik Virtual Machine Execute des fichiers avec un format spécial (.dex) Le format .dex est optimisé pour consommer le moins de mémoire Compilation Utilise le noyau Linux pour: Threading (gestion des processus) Gestion de la mémoire physique du système Android Tarak CHAARI Librairies (1/2) Développées en C/C++ Fournissent des fonctions de base pour les applications Android (développées en Java) Android Tarak CHAARI Librairies (2/2) Suite de la liste des librairies principales System C Library (Bionic) Media Libraries Surface Manager (Surface Flinger) Audio Manager (Audio Flinger) 3D Libraries (OpenGL) LibWebCore (WebKit) Gestion de la persistance (SQLite) Bionic Custom libc implementation optimized for embedded use Problem with GNU libc License The authors want to keep GPL out of user-space. Size Libc will load in each process, so it needs to be small. Speed Limited CPU power means it needs to be fast. Android Tarak CHAARI Framework des applications Composants Java de base pour les autres applications • View System: composants graphiques (Boutons, zones texte…) • Resource Manager: accès aux ressources (images, icones, traductions de texte, dispositions sur l’écran…) • Content provider: Partage de données entre applications • Activity Manager: Gestion du cycle de vie des applications Android Tarak CHAARI Couche « Applications » Applications de base pour utiliser le téléphone • Répertoire téléphonique • Application de téléphone • Navigateur • Paramètres du téléphone • Lanceur d’applications Android Tarak CHAARI 31 Etapes de développement (JVM) Android Tarak CHAARI 32 Etapes de développement (Dalvink VM) Android Tarak CHAARI 33 Outils Android Le outils fournis pour le développement Android ont fait son succès Android Tarak CHAARI 34 Prérequis (1/2) JDK http://www.oracle.com/technetwork/java/javase/downloads Android SDK http://developer.android.com/sdk/index.html Android Tarak CHAARI 35 Prérequis (2/2) Android Tarak CHAARI Contenu de “Android SDK” Contenu de “Android SDK” SDK ROOT Development Tools System Images Sample Code and Applications Documentation Répertoire Description Development Tools Un ensemble d’outils pour le développement et le déboggage des applications et pour la création des interfaces utilisateurs System Images Images système d’Android Sample Code and Applications Des exemples d’applications Android Documentation JavaDoc locale Android Tarak CHAARI Contenu de “Android SDK” (Cont) Contenu de “Android SDK” (Cont) Development Tools Hierarchy Viewer uploads/Management/ www-cours-gratuit-com-id-11992.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/0z7iNsMKeio5386QUuP4RM3spw5Az4mv7JTXMUUtcqYoKwBYFmNx5DmoOCQM6RWQY2Jh6uiK8xGdI4D9mDfkO8qo.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/4e6rGCOg9PsqqjCl09tq5vjrBRmWFOcLTabmlfcwFaqnVOXLpuiAeS0Ae2SJLshH03VVmLf73ux3IRMib7WKMiBd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/oK621E98VFJ1emBMpr1Wmc1ek8i3GARUCR50A79i95IlACw7eKObNS8T0mS8kjlMKVJVZ2RlfxyQ6SbxVLg2Cb6e.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ndlBT11QJNzEmEVEQSwEN9fseIOSmI2IGrS6t1wP67OHIRi0kP28chcOK1eG1GVeLY9CBwCW96Mk12VEXJ4jrkRE.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/NooVa4RHGtSmA9ciAZAA61DLVyTrHMFBYSucgKHgbYgNgoPFZazKlE8UzMEtBlvPH3dBvGKch67YCh8Wkm9yaHSa.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/CKpFy0cGeSAk8EQDuVguL7JIITiDzArn0masiUliJZhgcQyAJChizYnNuVAlVpL42ptIBgZnlqYvMCWi0ZXm9Ces.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/YqZ7nJtIqIZQrm9rFJDtq33oCOn3anFwPRfgvFmMa2APQvuFnTyr81hazi8Iv2hvouq1zN0R523GAmDGH8CENXC2.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/neLHbjmPMOrbopuiozqdVODB76u2lDSSQKLIWm59w8Ldz8f47ZCwXPfiqyLcGJ4gi0NhCHk1BhzJCi4ecq52zsTZ.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/MJiYlYhMj70tn5gVG2sYvARbL6EREjoQKe7qa0rT0hJzu8iworZ1zpi0XIEt4jappVTDNRGLgoZW5Iroqibt2Qjx.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/9IGfdZ1EHPpfjCyJPFBzDDuwL21cCH7sY8y4pDp7kqOyv0X1O5H5wSY3nBK7HtVWA1kUk61re8XWpZ8G90D0j7Yz.png)
-
21
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 15, 2022
- Catégorie Management
- Langue French
- Taille du fichier 4.1309MB