Institut  Supérieur  d’Informatique             Université  de  Tunis  el  Manar             TP2  :  Initiatio...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
TP2  :  Initiation  à  la  Programmation  avec  Android                                                                   ...
Prochain SlideShare
Chargement dans…5
×

Initiation à Android

3 920 vues

Publié le

Visitez http://liliasfaxi.wix.com/liliasfaxi

Publié dans : Formation
3 commentaires
2 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
3 920
Sur SlideShare
0
Issues des intégrations
0
Intégrations
779
Actions
Partages
0
Téléchargements
143
Commentaires
3
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Initiation à Android

  1. 1.   Institut  Supérieur  d’Informatique   Université  de  Tunis  el  Manar   TP2  :  Initiation  à  la   Programmation  avec  Android   Programmation  Mobile  –  2ème  Licence  –  Systèmes  Embarqués   Année  Universitaire  :  2011/2012      MME.  LILIA  SFAXI      
  2. 2. TP2  :  Initiation  à  la  Programmation  avec  Android   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     MME.  LILIA  SFAXI                  2011/2012  
  3. 3. TP2  :  Initiation  à  la  Programmation  avec  Android   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  :   MME.  LILIA  SFAXI                  2011/2012  
  4. 4. TP2  :  Initiation  à  la  Programmation  avec  Android   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.       MME.  LILIA  SFAXI                  2011/2012  
  5. 5. TP2  :  Initiation  à  la  Programmation  avec  Android   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.   MME.  LILIA  SFAXI                  2011/2012  
  6. 6. TP2  :  Initiation  à  la  Programmation  avec  Android   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   MME.  LILIA  SFAXI                  2011/2012  
  7. 7. TP2  :  Initiation  à  la  Programmation  avec  Android   6            Cliquer  sur  Finish.  Un  nouveau  projet  apparaît.   Voyons  l’arborescence  d’un  projet  Android  :   Répertoire  contenant   Répertoire  contenant  les  fichiers  générés  par  l’ADT.   les  sources  du  projet   Notamment,  le  fichier  R.java  contient  les  références   vers  les  ressources  du  projet       Fichier  jar  contenant  le   framework  Android   Répertoire  contenant  les  données  chargées  sur  le   mobile  à  la  compilation.  Ex  :  fichiers  texte,  audio,   Répertoire  contenant  les  ressources  du  projet.  Il  est   vidéo…   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   Fichier  définissant  le  comportement  de  l’application.   chaînes,  arrays.xml  pour  les  tableaux…   Ex  :  nom,  icône,  thème,  version,  activités…     TAF-­‐‑2  :  Exécuter  votre  application  Helloworld.  Qu’affiche-­‐‑t-­‐‑elle  ?  où  a  été  spécifié  cet  affichage  dans  le  code  ?           MME.  LILIA  SFAXI                  2011/2012  
  8. 8. TP2  :  Initiation  à  la  Programmation  avec  Android   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  :       MME.  LILIA  SFAXI                  2011/2012  
  9. 9. TP2  :  Initiation  à  la  Programmation  avec  Android   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.     MME.  LILIA  SFAXI                  2011/2012  
  10. 10. TP2  :  Initiation  à  la  Programmation  avec  Android   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  :   MME.  LILIA  SFAXI                  2011/2012  
  11. 11. TP2  :  Initiation  à  la  Programmation  avec  Android   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.     MME.  LILIA  SFAXI                  2011/2012  
  12. 12. TP2  :  Initiation  à  la  Programmation  avec  Android   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  :   MME.  LILIA  SFAXI                  2011/2012  
  13. 13. TP2  :  Initiation  à  la  Programmation  avec  Android   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.    MME.  LILIA  SFAXI                  2011/2012  

×