Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cours android 2016

première partie

  • Login to see the comments

Cours android 2016

  1. 1. Généralités Environnement de développement Architecture Application Android La plateforme Android : Tour d'horizon AU:2016/2017 Saber LAJILI Enseignant Technologue - ISET de Nabeul Saber LAJILI La plateforme Android 1 / 32
  2. 2. Généralités Environnement de développement Architecture Application Android Outline 1 Généralités 2 Environnement de développement 3 Architecture 4 Application Android Saber LAJILI La plateforme Android 2 / 32
  3. 3. Généralités Environnement de développement Architecture Application Android Dénition Bref historique Outline 1 Généralités Dénition Bref historique 2 Environnement de développement 3 Architecture 4 Application Android Saber LAJILI La plateforme Android 3 / 32
  4. 4. Généralités Environnement de développement Architecture Application Android Dénition Bref historique Outline 1 Généralités Dénition Bref historique 2 Environnement de développement 3 Architecture 4 Application Android Saber LAJILI La plateforme Android 4 / 32
  5. 5. Généralités Environnement de développement Architecture Application Android Dénition Bref historique Dénition Android est un système d'exploitation open source libre pour appareils mobiles; Concurrents: Symbian OS, iOS(iphone OS), Windows mobile, ... Saber LAJILI La plateforme Android 5 / 32
  6. 6. Généralités Environnement de développement Architecture Application Android Dénition Bref historique développement mobile Saber LAJILI La plateforme Android 6 / 32
  7. 7. Généralités Environnement de développement Architecture Application Android Dénition Bref historique Outline 1 Généralités Dénition Bref historique 2 Environnement de développement 3 Architecture 4 Application Android Saber LAJILI La plateforme Android 7 / 32
  8. 8. Généralités Environnement de développement Architecture Application Android Dénition Bref historique Bref historique Android est issu du travail d'une startup (entreprise en démarrage) Rachetée par Google en 2005 Création le 7 Novembre 2007 de l'OHA(Open Handset Alliance) Annonce ocielle de la plateforme Android le même Jour Octobre 2008 : sortie du premier samrtphone Android aux Etats-Unis et Mars 2009 en France 2009 : premières tablettes Android Le vrai succès à partir de début 2011, avec la version Android 3.0 Saber LAJILI La plateforme Android 8 / 32
  9. 9. Généralités Environnement de développement Architecture Application Android Outline 1 Généralités 2 Environnement de développement 3 Architecture 4 Application Android Saber LAJILI La plateforme Android 9 / 32
  10. 10. Généralités Environnement de développement Architecture Application Android Environnement de développement 1 L'environnement java (JDK : java Development Kit) 2 AndroidStudio :environnement spécique à Android basé sur IntelliJ IDEA. NB : la solution Eclipse est non adoptée par google depuis l'an 2015. 1 SDK :Software Development Kit : ensemble d'outils nécessaires pour créer une application Android Saber LAJILI La plateforme Android 10 / 32
  11. 11. Généralités Environnement de développement Architecture Application Android SDK SDK : regroupe les outils suivants : aapt Android Asset Packaging Tool (gérer *.APK) adb Android Debug Bridge : (déploiement de l'application) ddms : Dalvik Debug Monitor Service : déboggage de l'application Autres outils Saber LAJILI La plateforme Android 11 / 32
  12. 12. Généralités Environnement de développement Architecture Application Android AVD (Android Virtual Devices) Gérer les émulateurs. Un émulateur est un dispostif mobile virtuel ( un téléphone , une tablette, une lunette, . . . ) NB : Genymotion est une alternative de création d'émulateur +virtualBox Saber LAJILI La plateforme Android 12 / 32
  13. 13. Généralités Environnement de développement Architecture Application Android ART : Android Run Time Outline 1 Généralités 2 Environnement de développement 3 Architecture ART : Android Run Time 4 Application Android Saber LAJILI La plateforme Android 13 / 32
  14. 14. Généralités Environnement de développement Architecture Application Android ART : Android Run Time Architecture Saber LAJILI La plateforme Android 14 / 32
  15. 15. Généralités Environnement de développement Architecture Application Android ART : Android Run Time Architecture Cette architecture spécique au système Android conçue pour maîtriser les ressources et la consommation d'énergie. Architecture à 4 niveaux 1 Noyau Linux 2.6 standard+ extensions (besoins de mobilité comme alarm, binder, power management, logger low memory killer, . . . ) 2 Bibliothèques partagées par les diérents composants du système + machine virtuelle ART 3 Couche framework fournit le support de création des applications mobiles et d'accès aux API et services de dispositif mobile. 4 Couche application : Les applications écrites en Java Saber LAJILI La plateforme Android 15 / 32
  16. 16. Généralités Environnement de développement Architecture Application Android ART : Android Run Time Outline 1 Généralités 2 Environnement de développement 3 Architecture ART : Android Run Time 4 Application Android Saber LAJILI La plateforme Android 16 / 32
  17. 17. Généralités Environnement de développement Architecture Application Android ART : Android Run Time Architecture : ART Machine virtuelle : Dalvik arrêtée depuis la version 5 de Android et remplacée par ART. Dalvik : JIT: Just In Time (compilation à l'exécution) ART : Anroid Run Time AOT Compilation (Ahead Of Time) : compilation à l'installation et non plus à l'exécution augmenter les performances et l'espace de stockage des applications amélioration de grabage collector amélioration de déboggage (messages d'erreur plus détaillés) ART vs Dalvik : https://source.android.com/devices/tech/dalvik/ Saber LAJILI La plateforme Android 17 / 32
  18. 18. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Outline 1 Généralités 2 Environnement de développement 3 Architecture 4 Application Android Compilation Composants d'une application Android Application Hello World Saber LAJILI La plateforme Android 18 / 32
  19. 19. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Application Android Application native= application fonctionnelle sur une plateforme spécique Création d'un chier .apk qui contient toute l'application et ses ressources qui sera installé sur la plateforme Android Toutes les applications Android ont les même droits Une application est exécutée dans sa propre VM (Virtual Machine instance) Une application est lancée dans un processus et un thread principal Linux Une application doit posséder les permissions adéquats pour accéder aux composants du système (SMS, caméra, . . . ) Saber LAJILI La plateforme Android 19 / 32
  20. 20. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Outline 1 Généralités 2 Environnement de développement 3 Architecture 4 Application Android Compilation Composants d'une application Android Application Hello World Saber LAJILI La plateforme Android 20 / 32
  21. 21. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Compilation Java source code is converted into Java Byte Code using Java compiler, Java byte code is again converted to Dalvik byte code using dex compiler. Dex Byte code is converted in to .dex le by Dalvik virtual m/c. Saber LAJILI La plateforme Android 21 / 32
  22. 22. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Compilation-détails Saber LAJILI La plateforme Android 22 / 32
  23. 23. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Installation Saber LAJILI La plateforme Android 23 / 32
  24. 24. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Outline 1 Généralités 2 Environnement de développement 3 Architecture 4 Application Android Compilation Composants d'une application Android Application Hello World Saber LAJILI La plateforme Android 24 / 32
  25. 25. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Composants d'une application Android Saber LAJILI La plateforme Android 25 / 32
  26. 26. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Composants d'une application android Activité (activity) : implémente des interfaces et les interactions avec l'utilisateur : classe Activity Service (service) : composant exécuté en tâche de fond, sans interface graphique (opération longue ou appel distant) : classe Service Fournisseur de données (content provider) : gère et partage des données de l'application (Contact, Agenda) : classe ContentProvider Récepteur broadcast (broadcast receiver) : réagit à des messages (signal du batterie), systèmes ou applicatifs: classe BrodcastReceiver Saber LAJILI La plateforme Android 26 / 32
  27. 27. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Package des composants Saber LAJILI La plateforme Android 27 / 32
  28. 28. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Outline 1 Généralités 2 Environnement de développement 3 Architecture 4 Application Android Compilation Composants d'une application Android Application Hello World Saber LAJILI La plateforme Android 28 / 32
  29. 29. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Structure de projet Saber LAJILI La plateforme Android 29 / 32
  30. 30. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Fichier manifest.xml Fichier de description et de conguration de l'application structure : 1 La déclaration xmlns 2 Le package de l'application 3 Le contenu de l'application qui peut inclure les éléments suivants: 1 permissions : permission aux ressources (puce, caméra, ...) 2 uses-conguration : navigation supportée (exp: claviers, stylet, ...) 3 uses-feature : spécicités matérielles indispensable ( audio, caméra, ...) 4 supports-screens : spécier les dimentions écran supportées (smallScreen, largeScreen, ...) 5 instrumentations : activer la surveillance des interactions entre l'application et le système à travers des tests 6 l'application et ses composants Saber LAJILI La plateforme Android 30 / 32
  31. 31. Généralités Environnement de développement Architecture Application Android Compilation Composants d'une application Android Application Hello World Fichier manifest.xml Saber LAJILI La plateforme Android 31 / 32
  32. 32. . Merci pour votre attention

×