etudiante
M. Dalmau – IUT de Bayonne – Pays Basque
Positionnement d’Android
L’iPhone (Apple)
Nokia (Symbian OS)
Window Mobile (Microsoft)
BlackBerry
Palm (WebOS)
Google (Android)
Architecture d’Android
Architecture d’Android
Un noyau linux 2.6
• Gestion de le mémoire
• Gestion des processus
• Gestion du matériel (écran clavier …)
• Gestion des capteurs (appareil photo, GPS, accéléromètre …)
•…
Architecture d’Android
Des bibliothèques (C et C++)
• Graphisme
• Médias
• Web
•…
Architecture d’Android
Une machine virtuelle java
• Dalvik (une JVM par application)
• Code spécifique Android
Architecture d’Android
Des gestionnaires pour les applications + une API en java
• Gestion des fenêtres, des activités, des ressources …
• API pour développement des programmes
Architecture d’Android
Les applications
(Activités)
Développement d’applications pour Android
Production de logiciel
AndroidManifest
Chaîne de compilation
Code source java .java
Bytecode
.class
Binaire Dalvik
.dex
Ressources
IDE
Eclipse
ou
Netbeans
+ plugins SDK
Android
+ outils Machine virtuelle Dalvik
Constitution de l'application Application
.apk
Téléchargement
Terminal
API
Android
Environnement d'exécution
Environnement de développement
Développer pour Android
• Les interfaces et les constantes sont définies dans des fichiers XML
– Facilite la modification
– Statique
• Les ressources sont téléchargées avec l’application
• Les fonctionnalités sont dans le code
– Lien avec ce qui est défini en XML
– Accès aux ressources
• L’API n’est pas totalement celle de java (classes redéfinies (par exemple Color), interfaces, écouteurs …)
• La syntaxe des fichiers XML est extensible ⇒ difficile de savoir ce qui est prédéfini
• Les propriétés définies en XML peuvent être contradictoires
• L’interface ne peut être utilisée que par l’activité qui