initiation à android
Post on 21-Jun-2015
2.681 Views
Preview:
DESCRIPTION
TRANSCRIPT
Institut Supérieur d’Informatique Université de Tunis el Manar
MME. LILIA SFAXI
TP2 : Initiation à la Programmation avec Android Programmation Mobile – 2ème Licence – Systèmes Embarqués
Année Universitaire : 2011/2012
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
1
TP2 : Initiation à la Programmation avec Android Programmation Mobile
Objectifs du TP Ce TP est une initiation à Android. Nous allons réaliser les premiers pas pour l’écriture d’applications :
installation de l’environnement, et création des premières applications simples.
I. Introduction à la programmation avec Android Android est un système d’exploitation open-‐‑source pour smartphones, PDA et terminaux mobiles, et basé sur
Linux. Il a été conçu par la startup Android, qui a été rachetée par Google en 2005.
C’est la première plateforme mobile open-‐‑source et entièrement paramétrable. Il permet au développeur 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 l’appareil photo du téléphone…
Android est en constante évolution grâce aux applications innovantes que réalisent les développeurs. En 8 mois, plus de 6000 applications et jeux ont été développés et publiés dans le market. Il est possible de récupérer les sources d’Android à partir du site : http://source.android.com
Pour les développeurs, il faut consulter le site http://developer.android.com. Vous y trouverez les téléchargements nécessaires, de la documentation, comment publier votre application…
I. 1. Installations et outils
Pour créer des applications pour Android, il est nécessaire d’installer les éléments suivants :
JDK : Java Development Kit : Environnement de développement de Java, qui permet de compiler et exécuter des applications écrites en Java.
Eclipse : IDE (Integrated Developement Environment) pour une écriture simplifiée du code. On utilise avec Eclipse le plugin ADT (Android Developement Tools) adapté aux applications Android.
Android SDK : Android Software Developement Kit : Le SDK fournit une API et un ensemble d’outils pour le développement d’applications sur Android. Il contient principalement un émulateur (AVD pour Android Virtual Device) qui permet de modéliser un appareil mobile réel en définissant les options logicielles et matérielles désirées. Le SDK est disponible en téléchargement pour les plateformes Linux, Mac et Windows à l'ʹadresse suivante : http://developer.android.com/sdk/index.html
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
2
I. 1. 1. Installation d’Eclipse et du plugin ADT Avant d’installer Eclipse, il faut d’abord installer la JDK, qui nous permettra de compiler des programmes Java.
La JDK contient également une JRE (Java Runtime Environment), l’environnement d’exécution permettant d’exécuter des programmes écrits en Java. Comme Eclipse est écrit en Java, il ne pourra pas démarrer sans JRE.
Il est possible de télécharger 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 d’aller sur www.eclipse.org et de télécharger la version correspondante à votre plateforme. La version que nous allons utiliser est la version de base d’Eclipse : 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 fenêtre qui apparaît, cliquer sur Add… , et taper le lien : https://dl-‐‑ssl.google.com/android/eclipse/ dans la partie Location comme indiqué dans la figure suivante :
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
3
Cliquer sur OK, et suivez la procédure d’installation du plugin ADT pou Eclipse.
Une fois le plugin installé, le redémarrage d’Eclipse est nécessaire.
Pour vérifier que l’installation s’est bien déroulée, aller vers File -‐‑> New -‐‑> Other… et vérifier qu’une nouvelle partie appelée Android a été ajoutée.
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 d’un fichier compressé. Une fois ce fichier décompressé, aller vers le répertoire
tools et exécuter le fichier android. L’application Android Manager est lancée :
L’étape suivante est donc d’installer les plateformes Android nécessaires. Il suffit de sélectionner les plateformes qu’on désire installer, et cliquer sur Install Packages…
Remarque : Pour les besoins de notre application, il suffit d’installer le package Tools et le package Android 2.3.3.
I. 1. 3. Configuration du SDK sur Eclipse Dans la barre d’outils principale d’Eclipse, on peut noter la présence de boutons supplémentaires :
Permet de lancer le SDK Manager
Permet de configurer et démarrer l’émulateur AVD
Permet de lancer Android Lint, qui scanne le projet Android pour d’éventuels bugs
Pour créer un nouveau projet
Permet de démarrer un projet de test pour Android
Permet de guider l’utilisateur pour la création d’un nouveau fichier XML
Pour configurer le SDK :
Cliquer sur Window -‐‑> Preferences puis sélectionner Android
Indiquer le chemin vers votre répertoire SDK.
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
5
En cliquant sur Apply, la liste des plateformes installées sera affichée.
Une fois le SDK configuré, il est possible de démarrer l’émulateur. Pour cela, cliquer directement sur .
TAF-‐‑1 : Lancer votre émulateur Android 2.3.3. Le configurer pour qu’il utilise la résolution WQVGA400. Naviguer dessus pour découvrir l’interface sur laquelle vous allez travailler.
I. 2. Ma première application Android
Pour créer un projet Android :
Cliquer sur , ou aller à File -‐‑> New -‐‑> Android Project
Spécifier 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 fenêtre suivante, vous devez spécifier un package à utiliser, qui doit être unique. Ce package doit contenir au moins deux niveaux. Dans notre cas, on peut taper isi.helloworld
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
6
Cliquer sur Finish. Un nouveau projet apparaît.
Voyons l’arborescence d’un projet Android :
TAF-‐‑2 : Exécuter votre application Helloworld. Qu’affiche-‐‑t-‐‑elle ? où a été spécifié cet affichage dans le code ?
Fichier jar contenant le framework Android
Répertoire contenant les sources du projet
Répertoire contenant les fichiers générés par l’ADT. Notamment, le fichier R.java contient les références vers les ressources du projet
Répertoire contenant les données chargées sur le mobile à la compilation. Ex : fichiers texte, audio, vidéo… Répertoire contenant les ressources du projet. Il est
lu par l’ADT pour générer le fichier R.java.
Regroupe l’ensemble des images (haute, basse et moyenne résolution)
Répertoire pour la description de l’interface graphique avec des fichiers .xml
Dossier contenant les fichiers décrivant des valeurs utilisées dans l’application. Ex : strings.xml pour les chaînes, arrays.xml pour les tableaux… Fichier définissant le comportement de l’application.
Ex : nom, icône, thème, version, activités…
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
7
II. Création d’applications avec Android SDK
II. 1. Notion d’Activity
Une activité est la composante principale pour une application Android. Elle représente l’implémentation métier dans une application Android, permettant de gérer l’ensemble des vues et ressources.
Une activité peut être avec ou sans interface utilisateur. Il est possible d’avoir plusieurs activités dans le même programme. Elle doit toujours être déclarée dans le fichier AndroidManifest.xml.
Une activité n’est pas linéaire, elle est soumise à plusieurs évènements. Chaque événement est représenté dans une méthode. La figure suivante illustre le cycle de vie d’une application Android :
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
8
onCreate() : Cette méthode est appelée à la création d’une activité. Elle permet de l’initialiser. C’est ici que l’interface graphique est spécifiée.
onStart() : Cette méthode est appelée quand l’application est démarrée.
onResume() : Cette méthode est appelée quand l’application passe (ou repasse) en avant-‐‑plan.
onPause() : Appelée quand l’application passe en arrière-‐‑plan et qu’une autre application se met devant.
onStop() : Appelée quand l’application n’est plus visible.
onRestart() : Appelée quand l’application redevient visible.
onDestroy() : Appelée quand votre application est fermée par le système à cause d’un manque de ressources, ou par l’utilisateur à l’utilisation d’un finish().
Il est donc permis de spécifier un comportement pour chacun de ces évènements. Pour cela, il suffit de rajouter les méthodes correspondantes (de la même manière que pour la méthode onCreate) déjà générée par ADT.
Pour générer ces méthodes, commencer à taper le nom de la méthode dans le fichier de code, puis taper sur les touches Ctrl-‐‑Espace.
Cliquer sur la méthode qui vous est proposée. Son code sera automatiquement généré.
TAF-‐‑3 :
1. Générer les méthodes correspondant à chacun des évènements listés dans le cycle de vie.
2. Nous désirons voir le comportement de l’activité pour chacun de ces évènements. Pour cela, chaque méthode va afficher son nom.
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
9
Indication : Utiliser le code suivant pour l’affichage :
Toast helloToast = Toast.makeText(this, "message à afficher", Toast.LENGTH_LONG); helloToast.setGravity(Gravity.CENTER, 0, 0); helloToast.show();
3. Dans la méthode onCreate, commenter la ligne
setContentView(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 l’interface graphique
II. 2. 1. Ajout d’éléments graphiques L’interface graphique est gérée grâce aux fichiers xml se trouvant dans le répertoire layout. ADT offre une
interface conviviale pour gérer ces fichiers, et pour manipuler graphiquement les éléments de l’interface.
Il est ainsi possible de créer tous les éléments de l’interface grâce à 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. Exécuter.
Indication : Avant d’exécuter, annuler l’opération 3/ du TAF-‐‑3.
Pour définir le comportement de votre bouton, suivez les étapes suivantes :
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
10
II. 2. 2. Comportement d’un bouton
Dans le code du fichier main.xml, associer un identifiant et un titre à votre bouton :
<Button android:id="@+id/boutonAfficher" android:text="Afficher" … />
Créer un attribut dans votre activité de type Button :
private Button bAfficher;
Dans la méthode onCreate() :
– Initialiser l’attribut bAfficher en lui associant le bouton créé dans le main.xml :
this.bAfficher = (Button) this.findViewById(R.id.boutonAfficher) ;
– Associer un comportement à votre bouton :
this.bAfficher.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //comportement de votre bouton } });
TAF-‐‑5 : Modifier le comportement de votre bouton pour qu’il affiche J’ai été cliqué ! pendant 2 secondes dans un Toast, quand il est cliqué.
Indication : Modifier l’instruction d’affichage pour qu’elle 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. Création d’une nouvelle activité Pour créer une nouvelle activité, il faut suivre les étapes suivantes :
Créer une nouvelle classe dans votre package qui hérite de la classe Activity.
Générer la méthode onCreate().
Créer un nouveau fichier layout, et y ajouter les éléments graphiques désirés.
Associer ce fichier layout à votre activité dans la méthode onCreate().
Ajouter la nouvelle activité dans le fichier Manifest.
Remarque : Pour cette nouvelle activité, dans le manifest, ne pas garder la balise <intent-filter> : Cette balise permet, grâce à son action android.intent.action.MAIN, de spécifier que l’activité en cours est l’activité de départ de l’application.
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
11
TAF-‐‑6 : Créer une nouvelle activité qu’on nommera ClicActivity, contenant uniquement un champs de texte de type TextView, qu’on nommera clicText. Ecrire dans ce champs de texte la chaîne : « Bonjour ! »
II. 2. 4. Passage d’une activité à une autre Le passage entre deux activités requiert un Intent. Un Intent est un conteneur d’information. Il permet de passer
des messages entre deux activités. L’activité appelante pourra ainsi transmettre des informations à l’application appelée, ainsi qu’au système Android.
Il existe plusieurs manières de créer un Intent. Nous allons choisir la suivante :
Intent myIntent = new Intent(<contexte>, <classe de l’activité cible>);
Pour démarrer une autre activité, il faut lancer la méthode startActivity(Intent i) de la classe Activity initiale.
TAF-‐‑6 : Configurer le comportement de votre bouton pour qu’il lance l’activité ClicActivity, et observez le résultat.
Indications : 1. Dans le Intent, le contexte sera HelloworldActivity.this, et la classe cible sera ClicActivity.class. 2. Pour démarrer l’activité, la méthode startActivity doit être appelée à partir de l’objet HelloworldActivity.this
II. 2. 5. Récupération de messages entre activités
Pour passer un message à une activité, on ajoute des Extras aux Intents. Par exemple :
myIntent.putExtra(<id>, <chaîne>);
va passer la chaîne de caractère chaîne dans une variable appelée id à l’activité cible de l’Intent.
Dans l’activité cible, on récupère cet Extra en utilisant :
getIntent().getStringExtra(<id>) ;
TAF-‐‑7 : Modifier vos activités de manière à ce que :
1. L’utilisateur saisit une chaîne dans le champ de saisie de HelloworldActivity 2. L’utilisateur clique sur le bouton 3. ClicActivity est chargée, et le champs de texte TextView contient la chaîne qu’a saisi l’utilisateur.
III. Homework Installer l'ʹenvironnement Android chez vous. Créer une application contenant :
TP2 : Initiation à la Programmation avec Android
MME. LILIA SFAXI 2011/2012
12
-‐‑ Deux champs de texte -‐‑ Un bouton fermer qui permet de fermer définitivement l’application -‐‑ Un bouton concaténer qui va charger une deuxième activité. Cette dernière va afficher les deux chaînes
concaténées.
top related