Upload
lilia-sfaxi
View
248
Download
0
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.