hello droid

25
Hello Droid Préparé par: ING. David JOS

Upload: wiki-info-systeme

Post on 28-May-2015

339 views

Category:

Education


1 download

DESCRIPTION

Premier projet d'application Android, introduction a Eclipse et exécution, creation d'un AVD, e exécution de votre premier code Android.

TRANSCRIPT

Page 1: Hello droid

Hello DroidPréparé par: ING. David JOSEPH

Page 2: Hello droid

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

Page 3: Hello droid

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

Page 4: Hello droid

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.

Page 5: Hello droid

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é.

Page 6: Hello droid

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.

Page 7: Hello droid

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.

Page 8: Hello droid

Les Plates-forms Android

Page 9: Hello droid

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.

Page 10: Hello droid

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.

Page 11: Hello droid

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.

Page 12: Hello droid

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) :

Page 13: Hello droid

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.

Page 14: Hello droid

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" :

Page 15: Hello droid

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

Page 16: Hello droid

Exemple de AVD

Page 17: Hello droid

Projet Android

Page 18: Hello droid

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" :

Page 19: Hello droid

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.

Page 20: Hello droid

Et voila! Votre application est prête! Regardons le code créé par défaut

Page 21: Hello droid

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.

Page 22: Hello droid

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.

Page 23: Hello droid

Hello World!

Page 24: Hello droid

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.

Page 25: Hello droid

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