Programmation Android Introduction à Android Jérémy VINET IE-Concept 2017 Android-Intro V1.1 – IE-Concept 2017
Introduction à Android Programmation Android Introduction à Android Plan Introduction à Android Présentation Architecture des plateformes Outils de développement Architecture d’un projet Ressources Android-Intro V1.1 – IE-Concept 2017
Présentation Qu’est ce qu’Android ? Bref Historique Qui y participe ? Programmation Android Introduction à Android Présentation Présentation Qu’est ce qu’Android ? Bref Historique Qui y participe ? Versions du système Android et ses concurrents Android-Intro V1.1 – IE-Concept 2017
Programmation Android Introduction à Android Présentation Qu’est ce qu’Android ? Un système d’exploitation orienté dispositifs mobiles Il s’agit d’un ensemble de logiciels qui sert d’interface entre le matériel (les composants du téléphone, d’une tablette, d’une montre, … ) et les logiciels applicatifs (ceux que vous allez développer). Un système d’exploitation open source Disponibilité du code, Importante communauté d’utilisateurs et de développeurs Un système d’exploitation basé sur le noyau Linux Environnement de développement gratuit Programmation en Java ou en langage C (d’autres langages possibles) Kits de développement (SDK et NDK Android) disponibles et maintenus Android-Intro V1.1 – IE-Concept 2017
Bref historique Android est issu du travail d’une startup Programmation Android Introduction à Android Présentation Bref historique Android est issu du travail d’une startup Rachetée par Google en 2005 Création en Novembre 2007 de l’OHA (Open Handset Alliance) Annonce officielle de la plateforme Android le même jour Octobre 2008 : sortie du premier smartphone Android Le début du succès à partir de début 2011, avec la version 3.0 Android-Intro V1.1 – IE-Concept 2017
Programmation Android Introduction à Android Présentation Qui y participe ? Plusieurs entreprises contribuent à Android à travers l’Open Handset Alliance Android-Intro V1.1 – IE-Concept 2017
Versions du système Android-Intro V1.1 – IE-Concept 2017 Programmation Android Introduction à Android Présentation Versions du système Android-Intro V1.1 – IE-Concept 2017
Android et ses concurrents Programmation Android Introduction à Android Présentation Android et ses concurrents Source IDC – via ZDNet.fr/chiffres-cles Android-Intro V1.1 – IE-Concept 2017
Architecture Architecture de la plateforme Linux Kernel Libraries Programmation Android Introduction à Android Architecture Architecture Architecture de la plateforme Linux Kernel Libraries Android Runtime Application Framework Applications ART Android-Intro V1.1 – IE-Concept 2017
Architecture de la plateforme Programmation Android Introduction à Android Architecture Architecture de la plateforme Android-Intro V1.1 – IE-Concept 2017
Architecture : Linux Kernel Programmation Android Introduction à Android Architecture Architecture : Linux Kernel Gestion de la mémoire Gestion des processus Gestion du matériel (écran, clavier, …) Gestion des capteurs (GPS, accéléromètre, …) Android-Intro V1.1 – IE-Concept 2017
Architecture : Libraries Programmation Android Introduction à Android Architecture Architecture : Libraries Bibliothèques C/C++ Accès à travers des interfaces Java Surface manager 2D et 3D graphics Codecs Media, SQLite, … Android-Intro V1.1 – IE-Concept 2017
Architecture : Android Runtime Programmation Android Introduction à Android Architecture Architecture : Android Runtime Machine virtuelle Dalvik Un ensemble de librairies noyau qui fournissent la plupart des fonctionnalités disponibles dans les librairies noyau du langage de programmation Java Android-Intro V1.1 – IE-Concept 2017
Architecture : Application Framework Programmation Android Introduction à Android Architecture Architecture : Application Framework Gestion des fenêtres, des activités, des ressources … Activity manager – permet de gérer le cycle de vie d’une application Android-Intro V1.1 – IE-Concept 2017
Architecture : Applications Programmation Android Introduction à Android Architecture Architecture : Applications Les applications Un programme pour les SMS Calendrier, cartes, navigateurs, contacts, … Vos applications développées Android-Intro V1.1 – IE-Concept 2017
Programmation Android Introduction à Android Architecture 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 : Android 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 garbage collector Amélioration de déboggage (messages d’erreur plus détaillés) Android-Intro V1.1 – IE-Concept 2017
Outils de développement Programmation Android Introduction à Android Outils de développement Outils de développement SDK AVD Android Studio Schéma de compilation Android-Intro V1.1 – IE-Concept 2017
SDK Android Software Development Kit Android Programmation Android Introduction à Android Outils de développement SDK Android Software Development Kit Android Ensemble d’outils nécessaires pour créer une application Android aapt – Android Asset Packaging Tool (gérer *.APK) adb – Android Debug Bridge (déploiement de l’application) ddms – Dalvik Debug Monitor Service : Débogage de l’application D’autres outils ... Il existe autant de version de SDK que de version d’android Android-Intro V1.1 – IE-Concept 2017
AVD Android Virtual Device Permet de gérer les émulateurs Programmation Android Introduction à Android Outils de développement AVD Android Virtual Device Permet de gérer les émulateurs Un émulateur est un dispositif mobile virtuel exécutant Android Possible de créer autant de configurations voulues (taille écran, version Android, architecture matérielle, …) L’émulation consomme beaucoup de ressources Android-Intro V1.1 – IE-Concept 2017
Android Studio IDE basée sur Intelli J Développée par Google Programmation Android Introduction à Android Outils de développement Android Studio IDE basée sur Intelli J Développée par Google Vrai support sur le long terme Dernières technologies Parfaite intégration des outils SDK et AVD Gestion complète d’un projet Contient un éditeur de mise en page avec prévisualisation Android-Intro V1.1 – IE-Concept 2017
Android Studio Android-Intro V1.1 – IE-Concept 2017 Programmation Android Introduction à Android Outils de développement Android Studio Android-Intro V1.1 – IE-Concept 2017
Schéma de compilation (1 / 2) Programmation Android Introduction à Android Outils de développement Schéma de compilation (1 / 2) Android-Intro V1.1 – IE-Concept 2017
Schéma de compilation (2 / 2) Programmation Android Introduction à Android Outils de développement Schéma de compilation (2 / 2) Android-Intro V1.1 – IE-Concept 2017
Architecture d’un projet Programmation Android Introduction à Android Architecture d’un projet Architecture d’un projet Le manifeste Le code Java Les ressources Android-Intro V1.1 – IE-Concept 2017
Programmation Android Introduction à Android Architecture d’un projet Le manifeste Il contient une partie de la configuration de votre projet Déclare ce que l’application contient (activités, services, …) Précise comment ces composants sont liés à Android (que fait-on apparaitre dans le menu, …) Précise les permissions de l’application (accès au réseaux, localisation, caméra, …) Point de départ de toute application Android Android-Intro V1.1 – IE-Concept 2017
Le code Java Permet de démarrer l’activité (l’application Android) Programmation Android Introduction à Android Architecture d’un projet Le code Java Permet de démarrer l’activité (l’application Android) Contient toutes les classes et la logique de votre application Android-Intro V1.1 – IE-Concept 2017
Programmation Android Introduction à Android Architecture d’un projet Les ressources Contient toutes les ressources utiles à votre application « drawable » contient les images (JPG, PNG, …) « layout » les descriptions XML de l’IHM (les layouts) « menu » les descriptions XML des menus « raw » les fichiers généraux (binaire BDD, CSV, …) « values » les messages pour internalisation, les dimensions, les styles, … « mipmap » icones de l’application Android-Intro V1.1 – IE-Concept 2017
Représentation dans Android Studio Programmation Android Introduction à Android Architecture d’un projet Représentation dans Android Studio Manifeste Code Java Ressources Gradle Android-Intro V1.1 – IE-Concept 2017
Ressources https://developer.android.com/about/dashboards/index.html Programmation Android Introduction à Android Ressources Ressources https://developer.android.com/about/dashboards/index.html https://developer.android.com/guide/platform/index.html https://developer.android.com/studio/index.html https://developer.android.com/ Android-Intro V1.1 – IE-Concept 2017