2. Plan de travail
Introduction a Android
Android et la plateforme Java
IDE Eclipse
Téléphone Virtuel (AVD)
Premier projet Android
Lancer le AVD
TP
3. Introduction a Android
Android, prononcé Androïd, est un système
d'exploitation mobile pour smartphones, tablettes
tactiles, PDA et terminaux mobiles. C'est un système
open source utilisant le noyau Linux. Il a été lancé par
une startup du même nom rachetée par Google en
2005. D'autres types d'appareils possédant ce système
d'exploitation existent, par exemple des téléviseurs,
des radioréveils, des montres connectées, des
autoradios et même des voitures. Dans le Guide du
développeur, Android est défini comme étant Une pile
de logiciels, un ensemble de logiciels destinés à
fournir une solution clé en main pour les appareils
mobiles
4. Introduction a Android
Cette pile comporte un système d'exploitation (comprenant
un noyau Linux), les applications clés telles que le
navigateur web, le téléphone et le carnet d'adresses ainsi
que des logiciels intermédiaires entre le système
d'exploitation et les applications. L'ensemble est organisé en
cinq couches distinctes:
1. le noyau Linux avec les pilotes ;
2. des bibliothèques logicielles telles que Web Kit,
OpenGL, SQLite ou FreeType ;
3. une machine virtuelle et des bibliothèques permettant
d'exécuter des programmes prévus pour la plate-forme
Java ;
4. un framework - kit de développement d'applications ;
5. un lot d'applications standard parmi lesquelles il y a
un environnement de bureau, un carnet d'adresses, un
navigateur web et un téléphone.
5. Android et la plateforme Java
Android comporte une machine virtuelle nommée Dalvik, qui
permet d'exécuter des programmes prévus pour la plate-
forme Java. C'est une machine virtuelle conçue dès le départ
pour les appareils mobiles et leurs ressources réduites - peu
de puissance de calcul et peu de mémoire. En effet les
appareils mobiles contemporains de 2011 ont la puissance de
calcul d'un ordinateur personnel vieux de dix ans. La
majorité, voire la totalité des applications est exécutée par
la machine virtuelle Dalvik.
Le bytecode de Dalvik est différent de celui de la machine
virtuelle Java de Oracle (JVM), et le processus de
construction d'une application est différent : le code source
de l'application, en langage Java est tout d'abord compilé
avec un compilateur standard qui produit du bytecode pour
JVM (bytecode standard de la plateforme Java) puis ce
dernier est traduit en bytecode pour Dalvik par un
programme inclus dans Android, du bytecode qui pourra
alors être exécuté.
6. Android et la plateforme Java
L'ensemble de la bibliothèque standard de Android
ressemble à J2SE (Java Standard Edition) de la
plateforme Java. La principale différence est que les
bibliothèques d'interface graphique AWT et Swing sont
remplacées par des bibliothèques d'Android.
Le développement d'applications pour Android s'effectue
avec un ordinateur personnel sous Mac OS, Windows ou
Linux en utilisant le JDK de la plate-forme Java et des
outils pour Android. Des outils qui permettent de
manipuler le téléphone ou la tablette, de la simuler par
une machine virtuelle, de créer des fichiers APK (les
fichiers de paquet d'Android), de déboguer les
applications et d'y ajouter une signature numérique. Ces
outils sont mis à disposition sous la forme d'un plugin
pour l'environnement de développement Eclipse.
7. Android et la plateforme Java
La bibliothèque d'Android permet la création d'interfaces
graphiques selon un procédé similaire aux frameworks de
quatrième génération que sont XUL, Java FX ou Silverlight:
l'interface graphique peut être construite par déclaration et
peut être utilisée avec plusieurs skins - chartes graphiques.
La programmation consiste à déclarer la composition de
l'interface dans des fichiers XML ; la description peut
comporter des ressources (des textes et des pictogrammes).
Ces déclarations sont ensuite transformées en objets tels
que des fenêtres et des boutons, qui peuvent être manipulés
par de la programmation Java. Les écrans ou les fenêtres
(activity dans le jargon d'Android), sont remplis de plusieurs
vues ; chaque vue étant une pièce d'interface graphique
(bouton, liste, case à cocher…). Android 3.0, destiné aux
tablettes, introduit la notion de fragments: des panneaux
contenant plusieurs éléments visuels. Une tablette ayant -
contrairement à un téléphone - généralement suffisamment
de place à l'écran pour plusieurs panneaux.
9. IDE Eclipse
Le projet Eclipse a été initié par IBM pour remplacer, en utilisant Java, l'IDE
Visual Age, alors basé sur Smalltalk. Dès l'origine du projet, IBM a voulu offrir
une solution multiplate-forme, pouvant être exécutée sur les différents
systèmes d'exploitation de ses clients. De même le projet s'est voulu
extensible par le biais de plugins.
Eclipse est un projet, décliné et organisé en un ensemble de sous-projets de
développements logiciels, de la Fondation Eclipse visant à développer un
environnement de production de logiciels libre qui soit extensible, universel
et polyvalent, en s'appuyant principalement sur Java.
Son objectif est de produire et fournir des outils pour la réalisation de
logiciels, englobant les activités de programmation (notamment
environnement de développement intégré et frameworks) mais aussi d'AGL
recouvrant modélisation, conception, testing, gestion de configuration,
reporting... Son IDE, partie intégrante du projet, vise notamment à supporter
tout langage de programmation à l'instar de Microsoft Visual Studio.
10. IDE Eclipse
Bien qu'Eclipse ait d'abord été conçu uniquement pour produire des
environnements de développement, les utilisateurs et contributeurs se sont
rapidement mis à réutiliser ses briques logicielles pour des applications
clientes classiques. Cela a conduit à une extension du périmètre initial
d'Eclipse à toute production de logiciel : c'est l'apparition du framework
Eclipse RCP en 2004.
Figurant parmi les grandes réussites de l'Open source, Eclipse est devenu un
standard du marché des logiciels de développement, intégré par de grands
éditeurs logiciels et sociétés de services. Les logiciels commerciaux Lotus
Notes 8, IBM Lotus Symphony ou WebSphere Studio Application Developer
sont notamment basés sur Eclipse.
11. IDE Eclipse - Architecture
Le méta projet Eclipse est constitué et organisé en une galaxie de projets
logiciels. Sa spécificité tient à son architecture totalement développée autour
de la notion de plugin en conformité avec la norme OSGi : toutes les
fonctionnalités de l'atelier logiciel doivent être développées en tant que
plug-in bâti autour de l'Eclipse Platform.
Eclipse propose un framework de développement logiciel fournissant des
briques logicielles pour développer ces outils. En fait Eclipse est à la fois
considéré comme un IDE, un framework ou une plateforme, selon que l'on
considère le projet, ses composants, les EDI résultant de leur assemblage.
12. Un téléphone virtuel (AVD)
Nos téléphones virtuels (oui on pourra même en avoir plusieurs si on le
souhaite) s'appellent des AVD, que l'on peut écrire en français "Périphérique
Android Virtuel".
Pour commencer, cliquez sur le petit bouton au long titre "Opens the Android
SDK and AVD Manager" (présent grâce à notre plugin ADT) :
13. Un téléphone virtuel (AVD)
Cela ouvre le gestionnaire de SDK et d'AVD. Cliquez sur "Virtual Devices" dans
le panneau de gauche :
Vous ne devriez avoir aucun AVD pour le moment.
14. Un téléphone virtuel (AVD)
Pour en créer un, cliquez sur "New...".
La fenêtre suivante est très
importante car elle va définir votre
"téléphone" :
15. Un téléphone virtuel (AVD)
Voici les informations importantes à renseigner :
1) Name : Le nom de l'AVD. Vous pouvez mettre ce que vous voulez.
2) Target : La version d'Android installée sur le téléphone virtuel. Les targets (cibles)
disponibles ici sont celles installées plus tôt grâce à l'exécutable "SDK
Manager.exe" du SDK.
3) SD Card : Choisissez la taille (size) de votre carte SD virtuelle ou bien un fichier.
4) Skin : Pour un téléphone standard, choisissez "Default (HVGA)".
5) Hardware : Vous pouvez laisser par défaut.
Cliquez sur le bouton "Create AVD" pour finaliser la création de votre mobile
virtuel. Vous vous retrouvez alors avec un magnifique AVD dans votre liste Vous
pouvez alors fermer le "SDK and AVD Manager" pour enfin passer au
développement de votre première application Android
18. Premier projet Android
Enfin ! Nous touchons au but ! Que d'étapes avant de pouvoir commencer à
développer... Mais maintenant c'est bon, notre environnement est en place. Si
vous n'avez pas eu de soucis jusque là, vous êtes prêt à créer un nouveau
projet Android.
Pour commencer, choisissez dans le menu : "File", -> "New" -> "Project". Grâce
au plugin ADT, vous avez maintenant la possibilité de créer un "Android
Project". Sélectionnez cette option puis cliquez sur "Next" :
19. Les champs
Voici les informations importantes à renseigner:
1) Project Name : C'est le nom avec lequel Eclipse va définir votre projet. Vous pouvez mettre
ce que vous voulez mais évitez les espaces et autres caractères spéciaux.
2) Contents : Pour démarrer un projet tout neuf, choisissez "Create new project in workspace"
("Créer un nouveau projet dans l'espace de travail").
3) Build Target : Choisissez la version d'Android sur laquelle vous voulez travailler.
4) Application name : Cette fois, c'est le nom de votre application. Celui qui apparaîtra aux yeux
ébahis de l'utilisateur. Vous pouvez y mettre des caractères spéciaux si vous le désirez.
5) Package name : Par convention, le nom d'un package est sous la forme d'une "url à l'envers".
Vous pouvez mettre votre nom de domaine personnel ou ce que vous voulez. Tant que vous ne
diffusez pas à grande échelle votre application, ce n'est pas très important.
6) Create Activity : On ne détaillera pas ici ce qu'est une Activité, mais vous pouvez voir ça
comme un "écran" de votre application. On coche donc la case pour qu'une Activité soit créée
par défaut. Vous pouvez lui donner le nom de votre application ou bien "Main" si vous comptez
en avoir plusieurs. Ou bien ce que vous voulez en fait.
7) Min SDK Version : C'est le numéro d'API minimum requis pour faire tourner votre application.
Vous ne pourrez pas installer l'application sur un mobile ayant une API plus ancienne. J'ai
choisi 5 car c'est le numéro d'API d'Android 2.0 (celui que j'ai choisi dans "Build Target").
Cliquez sur "Finish" pour créer votre projet.
20. Et voila!
Votre application est prête! Regardons le code créé par défaut
21. Le code
Ce code contient différents éléments :
1) Le nom du package.
2) Des "import" android.*** : Bibliothèques nécessaires au script.
3) La classe HelloSDZ qui hérite d'Activity. C'est l'Activité que nous
avons choisie de créer lors de la mise en place du projet.
4) La méthode onCreate(). Cette méthode est appelée lors du
lancement de l'Activité. Autrement dit pour nous : au lancement
de l’application.
On y reviendra un peu plus tard. Maintenant l’essentiel c’est de
tester notre application.
22. Le test
Pour tester l’application il suffit de lancer l’appication dans votre AVD.
Choisissez "Run" dans le menu... "Run" :
L'AVD va alors mettre quelques instants à se lancer : vous verrez apparaître
les lettres "ANDROID", en gris sur fond noir. Ce sera plus ou moins long selon
votre configuration.
24. TP
De quoi avons nous besoin pour développer des applications Android (et plus
généralement des programmes Java) ?
Comment s'appelle le plugin Eclipse permettant le développement
d'application Android ?
Qu'est-ce qu'un AVD ?
A quoi sert le SDK Manager?
Enumérer les étapes pour la création d’un application Android sur Eclipse
Créer un application Android affichant votre nom, au milieu de l’ écran de
votre AVD.
25. Préparée par: ING. David JOSEPH
Bibliographie:
1) Votre première application android, ShigeruM (Site du Zero);
2) Android Essentials, Chris Haseman
3) Android Programming, Nicolas Gramlich
4) Beginning Android, Mark L. Murphy