SlideShare une entreprise Scribd logo
1  sur  32
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
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
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
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
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
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
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
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
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
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
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
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
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
Généralités
Environnement de développement
Architecture
Application Android
ART : Android Run Time
Architecture
Saber LAJILI La plateforme Android 14 / 32
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
.
Merci pour votre attention

Contenu connexe

Tendances

Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement AndroidSteve Tremblay
 
Android pour les debutants
Android pour les debutantsAndroid pour les debutants
Android pour les debutantsAmira Hakim
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1Sabeur LAJILI
 
Introduction à Android
Introduction à AndroidIntroduction à Android
Introduction à AndroidYoann Gotthilf
 
Cours android
Cours androidCours android
Cours androidAd Hafsa
 
5 android web_service
5 android web_service5 android web_service
5 android web_serviceSaber LAJILI
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceKorteby Farouk
 
Android Nougat (7.0) : Nouveautés Android TV et Direct Boot
Android Nougat (7.0) : Nouveautés Android TV et Direct BootAndroid Nougat (7.0) : Nouveautés Android TV et Direct Boot
Android Nougat (7.0) : Nouveautés Android TV et Direct BootEdouard Marquez
 
Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016Sabeur LAJILI
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013jeromevdl
 
Les nouveautés d'Android 7.1 (Nougat)
Les nouveautés d'Android 7.1 (Nougat)Les nouveautés d'Android 7.1 (Nougat)
Les nouveautés d'Android 7.1 (Nougat)Edouard Marquez
 
Les vues (views) sous android
Les vues (views) sous androidLes vues (views) sous android
Les vues (views) sous androidHoussem Lahiani
 
Initiation à Android
Initiation à AndroidInitiation à Android
Initiation à AndroidLilia Sfaxi
 

Tendances (18)

Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement Android
 
Cours 1 Android
Cours 1 AndroidCours 1 Android
Cours 1 Android
 
Android pour les debutants
Android pour les debutantsAndroid pour les debutants
Android pour les debutants
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
Android studio 2.0
Android studio 2.0Android studio 2.0
Android studio 2.0
 
Cours android 2016_partie1
Cours android 2016_partie1Cours android 2016_partie1
Cours android 2016_partie1
 
Introduction a Android
Introduction a AndroidIntroduction a Android
Introduction a Android
 
Introduction à Android
Introduction à AndroidIntroduction à Android
Introduction à Android
 
Cours android
Cours androidCours android
Cours android
 
Cours Android
Cours AndroidCours Android
Cours Android
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open source
 
Android Nougat (7.0) : Nouveautés Android TV et Direct Boot
Android Nougat (7.0) : Nouveautés Android TV et Direct BootAndroid Nougat (7.0) : Nouveautés Android TV et Direct Boot
Android Nougat (7.0) : Nouveautés Android TV et Direct Boot
 
Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
 
Les nouveautés d'Android 7.1 (Nougat)
Les nouveautés d'Android 7.1 (Nougat)Les nouveautés d'Android 7.1 (Nougat)
Les nouveautés d'Android 7.1 (Nougat)
 
Les vues (views) sous android
Les vues (views) sous androidLes vues (views) sous android
Les vues (views) sous android
 
Initiation à Android
Initiation à AndroidInitiation à Android
Initiation à Android
 

Similaire à Cours android 2016

Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
Développement Android
Développement AndroidDéveloppement Android
Développement AndroidFranck SIMON
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptxYaminaGh1
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android AbidjanBacely YoroBi
 
Workshop android
Workshop androidWorkshop android
Workshop android'Med Douik
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfmed_univ78
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdfmed_univ78
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.pptmahamaalej3
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous AndroidAbdelkader Rhouati
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - IntroductionYann Caron
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications AndroidLilia Sfaxi
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipseESPRIT
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesMichael Laguerre
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobileHaifa Chorfi
 
Prérequis au développement google android
Prérequis au développement google androidPrérequis au développement google android
Prérequis au développement google androidThierry Gayet
 

Similaire à Cours android 2016 (20)

Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
 
Workshop android
Workshop androidWorkshop android
Workshop android
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
 
Chapitre 1 android
Chapitre 1 androidChapitre 1 android
Chapitre 1 android
 
1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.ppt
 
android.pdf
android.pdfandroid.pdf
android.pdf
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
Programmation Android - 01 - Introduction
Programmation Android - 01 - IntroductionProgrammation Android - 01 - Introduction
Programmation Android - 01 - Introduction
 
Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications Android
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipse
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobiles
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
 
Prérequis au développement google android
Prérequis au développement google androidPrérequis au développement google android
Prérequis au développement google android
 

Plus de Saber LAJILI

Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016Saber LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Saber LAJILI
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_threadSaber LAJILI
 
Liste exposés université privée leaders
Liste exposés université privée leadersListe exposés université privée leaders
Liste exposés université privée leadersSaber LAJILI
 
Exemple de création de base
Exemple de création de baseExemple de création de base
Exemple de création de baseSaber LAJILI
 
Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3Saber LAJILI
 
Les capteurs sous android
Les capteurs sous androidLes capteurs sous android
Les capteurs sous androidSaber LAJILI
 
3 shared preference_sq_lite
3 shared preference_sq_lite3 shared preference_sq_lite
3 shared preference_sq_liteSaber LAJILI
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_threadSaber LAJILI
 
2 activity user_interface
2 activity user_interface2 activity user_interface
2 activity user_interfaceSaber LAJILI
 

Plus de Saber LAJILI (16)

Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_thread
 
Accueil.java
Accueil.javaAccueil.java
Accueil.java
 
Activity accueil
Activity accueilActivity accueil
Activity accueil
 
Main.xml
Main.xmlMain.xml
Main.xml
 
Liste exposés université privée leaders
Liste exposés université privée leadersListe exposés université privée leaders
Liste exposés université privée leaders
 
Exemple de création de base
Exemple de création de baseExemple de création de base
Exemple de création de base
 
Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3
 
Les capteurs sous android
Les capteurs sous androidLes capteurs sous android
Les capteurs sous android
 
3 shared preference_sq_lite
3 shared preference_sq_lite3 shared preference_sq_lite
3 shared preference_sq_lite
 
F3
F3F3
F3
 
F1
F1F1
F1
 
F2
F2F2
F2
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_thread
 
2 activity user_interface
2 activity user_interface2 activity user_interface
2 activity user_interface
 

Cours android 2016

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Généralités Environnement de développement Architecture Application Android ART : Android Run Time Architecture Saber LAJILI La plateforme Android 14 / 32
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. . Merci pour votre attention