Android Series (Partie 2) - Initiation Android

Embed Size (px)

Citation preview

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    1/13

    Institut Suprieur dInformatique

    Universit de Tunis el Manar

    MME. LILIA SFAXI

    TP2: Initiation laProgrammation avec AndroidProgrammation Mobile 2me Licence Systmes Embarqus

    Anne Universitaire : 2011/2012

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    2/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    1

    TP2: Initiation la Programmation avec AndroidProgrammation MobileObjectifs du TP

    Ce TP est une initiation Android. Nous allons raliser les premiers pas pour lcriture dapplications

    installation de lenvironnement, et cration des premires applications simples.

    I.Introduction la programmation avec Android

    Android est un systme dexploitation open-source pour smartphones, PDA et terminaux mobiles, et bas sur

    Linux. Il a t conu par la startupAndroid, qui a t rachete par Google en 2005.

    Cest la premire plateforme mobile open-source et entirement paramtrable. Il permet au dveloppeur de

    profiter au maximum de tout ce que peut fournir un appareil mobile, permettant ainsi une application de lancer un

    appel, envoyer un email ou SMS, utiliser lappareil photo du tlphone

    Android est en constante volution grce aux applications innovantes que ralisent les dveloppeurs. En 8 mois,

    plus de 6000 applications et jeux ont t dvelopps et publis dans le market. Il est possible de rcuprer les sources

    dAndroid partir du site : http://source.android.com

    Pour les dveloppeurs, il faut consulter le site http://developer.android.com. Vous y trouverez les

    tlchargements ncessaires, de la documentation, comment publier votre application

    I. 1.Installations et outilsPour crer des applications pour Android, il est ncessaire dinstaller les lments suivants :

    JDK : Java Development Kit : Environnement de dveloppement de Java, qui permet de compiler et excuter desapplications crites en Java.

    Eclipse : IDE (Integrated Developement Environment) pour une criture simplifie du code. On utilise avec Eclipsele plugin ADT (Android Developement Tools) adapt aux applications Android.

    Android SDK : Android Software Developement Kit : Le SDK fournit une API et un ensemble doutils pour ledveloppement dapplications sur Android. Il contient principalement un mulateur (AVD pour Android Virtua

    Device) qui permet de modliser un appareil mobile rel en dfinissant les options logicielles et matrielles

    dsires. Le SDK est disponible en tlchargement pour les plateformes Linux, Mac et Windows l'adresse

    suivante : http://developer.android.com/sdk/index.html

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    3/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    2

    I. 1. 1. Installation dEclipse et du plugin ADT

    Avant dinstaller Eclipse, il faut dabord installer la JDK, qui nous permettra de compiler des programmes Java

    La JDK contient galement une JRE (Java Runtime Environment), lenvironnement dexcution permettant dexcuter des

    programmes crits en Java. Comme Eclipse est crit en Java, il ne pourra pas dmarrer sans JRE.

    Il est possible de tlcharger JDK partir du site suivant :

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

    Remarque : Dans Ubuntu, il vaut mieux installer JDK directement partir de la console en tapant :

    sudo apt-get install openjdk-7-jdk

    Pour installer Eclipse, il suffit daller sur www.eclipse.org et de tlcharger la version correspondante votreplateforme. La version que nous allons utiliser est la version de base dEclipse : Eclipse IDE for Java Developers.

    Remarque : Dans Ubuntu, installer Eclipse directement partir de la console en tapant :

    sudo apt-get install eclipse-platform

    Une fois Eclipse install, il faut installer le plugin ADT. Pour cela :

    Aller vers Help -> Install new software

    Dans la fentre qui apparat, cliquer surAdd , et taper le lien : https://dl-ssl.google.com/android/eclipse/ dans lapartie Location comme indiqu dans la figure suivante :

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    4/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    3

    Cliquer sur OK, et suivez la procdure dinstallation du plugin ADT pou Eclipse. Une fois le plugin install, le redmarrage dEclipse est ncessaire. Pour vrifier que linstallation sest bien droule, aller vers File -> New -> Other et vrifier quune nouvelle

    partie appeleAndroid a t ajoute.

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    5/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    4

    I. 1. 2. Installation du SDK

    Le SDK est fourni sous la forme dun fichier compress. Une fois ce fichier dcompress, aller vers le rpertoire

    tools et excuter le fichier android. LapplicationAndroid Manager est lance :

    Ltape suivante est donc dinstaller les plateformes Android ncessaires. Il suffit de slectionner les plateformes

    quon dsire installer, et cliquer sur Install Packages

    Remarque : Pour les besoins de notre application, il suffit dinstaller le package Tools et le packageAndroid 2.3.3.

    I. 1. 3. Configuration du SDK sur Eclipse

    Dans la barre doutils principale dEclipse, on peut noter la prsence de boutons supplmentaires :

    Permet de lancer le SDK Manager

    Permet de configurer et dmarrer lmulateur AVD

    Permet de lancer Android Lint, qui scanne le projet Android pour dventuels bugs

    Pour crer un nouveau projet

    Permet de dmarrer un projet de test pour Android

    Permet de guider lutilisateur pour la cration dun nouveau fichier XML

    Pour configurer le SDK :

    Cliquer sur Window -> Preferences puis slectionnerAndroid Indiquer le chemin vers votre rpertoire SDK.

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    6/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    5

    En cliquant surApply, la liste des plateformes installes sera affiche.Une fois le SDK configur, il est possible de dmarrer lmulateur. Pour cela, cliquer directement sur .

    TAF-1 : Lancer votre mulateur Android 2.3.3. Le configurer pour quil utilise la rsolution WQVGA400

    Naviguer dessus pour dcouvrir linterface sur laquelle vous allez travailler.

    I. 2.Ma premire application AndroidPour crer un projet Android :

    Cliquer sur , ou aller File -> New -> Android Project Spcifier le nom du projet : Helloworld, et cliquer sur Next Choisissez la plateforme Android utiliser (dans notre cas 2.3.3), cliquer sur Next Dans la fentre suivante, vous devez spcifier un package utiliser, qui doit tre unique. Ce package doit

    contenir au moins deux niveaux. Dans notre cas, on peut taper isi.helloworld

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    7/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    6

    Cliquer sur Finish. Un nouveau projet apparat.Voyons larborescence dun projet Android :

    TAF-2 : Excuter votre application Helloworld. Quaffiche-t-elle ? o a t spcifi cet affichage dans le code ?

    Fichierjar contenant le

    framework Android

    Rpertoire contenant

    les sources du projet

    Rpertoire contenant les fichiers gnrs par lADT.

    Notamment, le fichier R.java contient les rfrences

    vers les ressources du projet

    Rpertoire contenant les donnes charges sur le

    mobile la compilation. Ex : fichiers texte, audio,

    vidoRpertoire contenant les ressources du projet. Il est

    lu par lADT pour gnrer le fichier R.java.

    Regroupe lensemble des images (haute,

    basse et moyenne rsolution)Rpertoire pour la description de linterface

    graphique avec des fichiers .xml

    Dossier contenant les fichiers dcrivant des valeurs

    utilises dans lapplication. Ex : strings.xml pour les

    chanes, arrays.xml pour les tableauxFichier dfinissant le comportement de lapplication.

    Ex : nom, icne, thme, version, activits

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    8/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    7

    II.Cration dapplications avec Android SDKII. 1.Notion dActivity

    Une activit est la composante principale pour une application Android. Elle reprsente limplmentation mtier

    dans une application Android, permettant de grer lensemble des vues et ressources.

    Une activit peut tre avec ou sans interface utilisateur. Il est possible davoir plusieurs activits dans le mme

    programme. Elle doit toujours tre dclare dans le fichier AndroidManifest.xml.

    Une activit nest pas linaire, elle est soumise plusieurs vnements. Chaque vnement est reprsent dans

    une mthode. La figure suivante illustre le cycle de vie dune application Android :

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    9/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    8

    onCreate() : Cette mthode est appele la cration dune activit. Elle permet de linitialiser. Cest ici quelinterface graphique est spcifie.

    onStart() : Cette mthode est appele quand lapplication est dmarre. onResume() : Cette mthode est appele quand lapplication passe (ou repasse) en avant-plan. onPause() : Appele quand lapplication passe en arrire-plan et quune autre application se met devant. onStop() : Appele quand lapplication nest plus visible. onRestart() : Appele quand lapplication redevient visible. onDestroy() : Appele quand votre application est ferme par le systme cause dun manque de ressources, ou

    par lutilisateur lutilisation dunfinish().

    Il est donc permis de spcifier un comportement pour chacun de ces vnements. Pour cela, il suffit de rajouter lesmthodes correspondantes (de la mme manire que pour la mthode onCreate) dj gnre par ADT.

    Pour gnrer ces mthodes, commencer taper le nom de la mthode dans le fichier de code, puis taper sur les

    touches Ctrl-Espace.

    Cliquer sur la mthode qui vous est propose. Son code sera automatiquement gnr.

    TAF-3 :

    1. Gnrer les mthodes correspondant chacun des vnements lists dans le cycle de vie.2. Nous dsirons voir le comportement de lactivit pour chacun de ces vnements. Pour cela, chaque

    mthode va afficher son nom.

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    10/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    9

    Indication : Utiliser le code suivant pour laffichage :

    Toast helloToast = Toast.makeText(this, "message afficher", Toast.LENGTH_LONG);helloToast.setGravity(Gravity.CENTER, 0, 0);helloToast.show();

    3. Dans la mthode onCreate, commenter la lignesetContentView(R.layout.main);

    et la remplacer par :

    TextView tv = new TextView(this);tv.setText("Hello, Android");setContentView(tv);

    que constatez-vous ?

    II. 2.Modification de linterface graphiqueII. 2. 1. Ajout dlments graphiques

    Linterface graphique est gre grce aux fichiers xml se trouvant dans le rpertoire layout. ADT offre une

    interface conviviale pour grer ces fichiers, et pour manipuler graphiquement les lments de linterface.

    Il est ainsi possible de crer tous les lments de linterface grce des drag-and-drop.

    TAF-4 : Ajouter votre application Helloworld un bouton et un champs de saisie. Noter les changements dans le

    code XML du fichier main.xml. Excuter.

    Indication : Avant dexcuter, annuler lopration 3/ du TAF-3.

    Pour dfinir le comportement de votre bouton, suivez les tapes suivantes :

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    11/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    10

    II. 2. 2. Comportement dun bouton

    Dans le code du fichier main.xml, associer un identifiant et un titre votre bouton :

    Crer un attribut dans votre activit de type Button :Button bAfficher;

    Dans la mthode onCreate() : Initialiser lattribut bAfficheren lui associant le bouton cr dans le main.xml :

    .bAfficher = (Button) .findViewById(R.id.boutonAfficher) ;

    Associer un comportement votre bouton :.bAfficher.setOnClickListener( OnClickListener() {

    @Override

    onClick(View v) {

    //comportement de votre bouton

    }

    });

    TAF-5 : Modifier le comportement de votre bouton pour quil affiche Jai t cliqu ! pendant 2 secondes dans un

    Toast, quand il est cliqu.

    Indication : Modifier linstruction daffichage pour quelle devienne comme suit :

    Toast helloToast = Toast.makeText(HelloworldActivity.this, "message afficher",Toast.LENGTH_LONG);helloToast.setGravity(Gravity.CENTER, 0, 0);helloToast.show();

    II. 2. 3. Cration dune nouvelle activit

    Pour crer une nouvelle activit, il faut suivre les tapes suivantes :

    Crer une nouvelle classe dans votre package qui hrite de la classe Activity. Gnrer la mthode onCreate(). Crer un nouveau fichier layout, et y ajouter les lments graphiques dsirs. Associer ce fichier layout votre activit dans la mthode onCreate(). Ajouter la nouvelle activit dans le fichier Manifest.

    Remarque : Pour cette nouvelle activit, dans le manifest, ne pas garder la balise : Cette

    balise permet, grce son action android.intent.action.MAIN, de spcifier que lactivit en cours est lactivit de

    dpart de lapplication.

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    12/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    11

    TAF-6 : Crer une nouvelle activit quon nommera ClicActivity, contenant uniquement un champs de texte de

    type TextView, quon nommera clicText. Ecrire dans ce champs de texte la chane : Bonjour !

    II. 2. 4. Passage dune activit une autre

    Le passage entre deux activits requiert un Intent. Un Intent est un conteneur dinformation. Il permet de passer

    des messages entre deux activits. Lactivit appelante pourra ainsi transmettre des informations lapplication appele

    ainsi quau systme Android.

    Il existe plusieurs manires de crer un Intent. Nous allons choisir la suivante :

    Intent myIntent = new Intent(,);

    Pour dmarrer une autre activit, il faut lancer la mthode startActivity(Intent i) de la classe Activity initiale.

    TAF-6 : Configurer le comportement de votre bouton pour quil lance lactivit ClicActivity, et observez le

    rsultat.

    Indications :

    1. Dans le Intent, le contexte seraHelloworldActivity.this, et la classe cible sera ClicActivity.class.2. Pour dmarrer lactivit, la mthode startActivity doit tre appele partir de lobjetHelloworldActivity.this

    II. 2. 5. Rcupration de messages entre activits

    Pour passer un message une activit, on ajoute des Extras aux Intents. Par exemple :myIntent.putExtra(,);

    va passer la chane de caractre chane dans une variable appele id lactivit cible de lIntent.

    Dans lactivit cible, on rcupre cet Extra en utilisant :getIntent().getStringExtra() ;

    TAF-7: Modifier vos activits de manire ce que :

    1. Lutilisateur saisit une chane dans le champ de saisie de HelloworldActivity2. Lutilisateur clique sur le bouton3. ClicActivity est charge, et le champs de texte TextView contient la chane qua saisi lutilisateur.

    III.HomeworkInstaller l'environnement Android chez vous. Crer une application contenant :

  • 7/31/2019 Android Series (Partie 2) - Initiation Android

    13/13

    TP2 : Initiation la Programmation avec Android

    MME. LILIA SFAXI 2011/2012

    12

    - Deux champs de texte- Un boutonfermer qui permet de fermer dfinitivement lapplication- Un bouton concatner qui va charger une deuxime activit. Cette dernire va afficher les deux chanes

    concatnes.