SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
 

           Institut  Supérieur  d’Informatique  
           Université  de  Tunis  el  Manar  




           TP3  :  Composants  Android  
           Programmation  Mobile  –  2ème  Licence  –  Systèmes  Embarqués  


           Année  Universitaire  :  2011/2012  
             

             



MME.  LILIA  SFAXI  
             

             
TP3  :  Composants  Android                                                                                               1             
                                                                                                                                                                
           


                                  TP3  :  Composants  Android  
                                                              Programmation  Mobile  


Objectifs  du  TP  
         Ce  TP  a  pour  objectif  de  vous  initier  aux  différents  composants  importants  d’Android.    

         Nous  allons  dans  ce  TP  réaliser  progressivement  une  petite  application  de  conversion.    


       TAF-­‐‑1  :  Créer  un  nouveau  projet  intitulé  Conversion,  qui  contient  le  package  isi.conversion.  Créer  les  éléments  nécessaires  
       pour  que  l’interface  soit  comme  la  figure  suivante  :  




                                                                                               
                                                                                 


I. Boutons,  boutons  radios  et  cases  à  cocher  
         Dans  le  TP  précédent,  nous  avons  vu  comment  gérer  le  comportement  des  boutons.  Ce  n’est  pas  la  seule  manière.    


I.  1. Associer  un  comportement  à  un  bouton  

1.   Créer  une  méthode  dans  le  code  Java  de  l’activité  qui  définit  le  comportement  du  bouton.  On  l’appellera    

                                            public void auClicMethode(View v){…}

     Cette  méthode  doit  obligatoirement  être  publique,  retourner  void  et  avoir  un  paramètre  de  type  android.view.View.  

2.   Créer  un  bouton  dans  le  fichier  layout  en  utilisant  la  partie  graphique.  



         MME.  LILIA  SFAXI                                                                                                                     2011/2012  
TP3  :  Composants  Android                                                                                                     2              
                                                                                                                                                                         
             
3.   Modifier  son  identifiant  et  son  texte  à  votre  guise  

           Remarque  :   Il   vous   est   possible   de   modifier   ces   informations   graphiquement.   Pour   cela,   ouvrir   la   partie  
graphique  du  fichier  layout,  clic-­‐‑droit  sur  l’élément  à  configurer,  et  choisir  Edit  Text,  Edit  ID…    
                  

4.   Dans  le  code  xml  de  votre  bouton,  ajouter  l’attribut  :  

                                                android:onClick = "@string/auClic"

5.   Créer  dans  le  fichier  strings.xml  un  nouveau  string  dont  le  nom  est  auClic  et  la  valeur  est  auClicMethode  (qui  est  le  nom  
     de  la  méthode  que  vous  avez  créé  dans  1.  )  


       TAF-­‐‑2  :  Créer  une  méthode  appelée  convertir  et  l’associer  au  bouton  Convertir  de  votre  interface.  


I.  2. Gérer  les  boutons  radios    

           Un  bouton  radio  est  un  bouton  à  deux  états  qui  peut  être  soit  coché  (checked)    ou  décoché  (unchecked).  Les  boutons  
radios   sont   en   général   utilisés   dans   un   groupe   RadioGroup.   Au   sein   d’un   même   groupe,   un   seul   bouton   radio   peut   être  
coché.  

           Pour  gérer  l’état  d’un  bouton  radio,  il  faut  suivre  les  étapes  suivantes  :  

1.   Créer  un  attribut  de  type  RadioButton  dans  votre  activité  (par  exemple  radio1).  
2.   L’associer  au  bouton  radio  approprié  de  votre  interface  en  utilisant  la  méthode  findViewById.  
3.   Pour  tester  l’état  de  votre  bouton  radio,  appeler  la  méthode  isChecked().  Par  exemple  :  

                          if (radio1.isChecked() ){
                                   //traitement
                          }




           MME.  LILIA  SFAXI                                                                                                                            2011/2012  
TP3  :  Composants  Android                                                                                                                  3              
                                                                                                                                                                                      
             

      TAF-­‐‑3  :    
                1.    Créer  deux  méthodes  :  dinarToEuro  et  euroToDinar,  qui  prennent  de  convertir  une  valeur  en  entrée  :  
                                     private float dinarsToEuro(float valeurDinar) {
                                              return (float) (valeurDinar * 1.9919);
                                     }

                                     private float euroToDinar(float valeurEuro) {
                                              return (float) (valeurEuro * 0.5020);
                                     }
                2.    Implémenter  la  méthode  convertir  pour  qu’elle  fasse  la  conversion  nécessaire,  selon  le  bouton  radio  qui  est  coché.  
                      Mettre  le  résultat  dans  le  champs  de  texte  Resultat.    
                 Indication  :  La  valeur  lue  dans  le  champs  de  saisie  (ici  appelé  edt)  doit  être  convertie  en  float  pour  être  manipulée.  Pour  cela,  
                     utiliser  le  code  suivant  :  
                                          EditText edt = (EditText) findViewById(R.id.edit_float);
                                          float number = Float.valueOf(edt.getText().toString());
                  
                D’autre  part,  pour  extraire  la  chaîne  de  caractères  associée  à  une  variable  float  (appelée  ici  floatVar),  utiliser  le  code  suivant  :  
        
                                         String s = String.valueOf(floatVar) ;



I.  3. Gérer  les  cases  à  cocher  

           Tout   comme   les   boutons   radio,   les   cases   à   cocher   ont   deux   états  :   coché   ou   décoché.   Cependant,   on   peut   avoir  
plusieurs  cases  qui  sont  cochées  en  même  temps,  et  elle  sont  la  plupart  du  temps  indépendantes.  

           Pour  gérer  l’état  d’une  case  à  cocher,  il  faut  suivre  les  étapes  suivantes  :  

1.   Créer  un  attribut  de  type  CheckBox  dans  votre  activité  (par  exemple  check1).  
2.   L’associer  à  la  case  à  cocher  appropriée  de  votre  interface  en  utilisant  la  méthode  findViewById.  
3.   Pour  tester  l’état  de  votre  case  à  cocher,  appeler  la  méthode  isChecked().  Par  exemple  :  

                             if (check1.isChecked() ){
                                      //traitement
                             }

4.   Pour  modifier  l’état  de  la  case  à  cocher,  utiliser  la  méthode  setChecked(boolean  etat).  Par  exemple  :  

                             check1.setChecked(false) ;                                    //pour décocher la case
                             check1.setChecked(true) ;                                     //pour cocher la case




           MME.  LILIA  SFAXI                                                                                                                                         2011/2012  
TP3  :  Composants  Android                                                                                                4              
                                                                                                                                                                   
            

II. Menus  
          Sur  Android,  les  menus  permettent  d’ajouter  des  fonctionnalités  à  une  application  en  fournissant  des  opérations  
supplémentaires,  initialement  cachées  à  l’utilisateur.    

          Il  existe  deux  types  de  menus  :  

          -­‐‑   Un  menu  d’options  :  déclenché  par  le  bouton  matériel  Menu  sur  le  téléphone.  
          -­‐‑   Un  menu  contextuel  :  déclenché  par  un  évènement  sur  un  élément  de  l’interface,  par  exemple  un  long  clic.  

          Ces  deux  types  de  menus  peuvent  contenir  :  

          -­‐‑   Du  texte  
          -­‐‑   Des  icônes  
          -­‐‑   Des  boutons  radios  
          -­‐‑   Des  cases  à  cocher  
          -­‐‑   Des  sous-­‐‑menus  
          -­‐‑   Des  raccourcis…  


II.  1. Menu  contextuel  

          Pour  définir  un  menu  contextuel,  qui  sera  déclenché  suite  à  un  long  clic  sur  un  élément  (que  j’appelle  ici  element  :  
il  peut  être  un  bouton,  un  textView,  ou  même  le  layout  en  entier)  :    

1.   Créer  un  attribut  pour  l’élément  auquel  on  veut  ajouter  un  menu  contextuel,  et  l’associer  à  l’élément  graphique  avec  
     la  méthode  findViewById(…).    
2.   Ajouter  un  écouteur  pour  le  long  clic,  de  la  même  manière  que  nous  avons  ajouté  un  écouteur  pour  le  clic  dans  le  TP  
     précédent.  Cet  écouteur(  Listener),  va  ordonner  l’affichage  du  menu  contextuel  quand  on  fait  un  long  clic  sur  element  :  

                       
                     element.setOnLongClickListener(new OnLongClickListener() {

                            @Override
                            public boolean onLongClick(View v) {
                                   v.showContextMenu();
                                   return false;
                            }});
                     element.setOnCreateContextMenuListener (this) ;

3.   Indiquer  le  comportement  de  ce  menu.  Pour  cela,  générer  la  méthode  onCreateContextMenu  dans  votre  activité.  Elle  est  
     appelée  quand  un  menu  contextuel  va  être  affiché.    
4.   Dans  le  corps  de  cette  méthode,  on  peut  ajouter  des  menus.  Pour  cela,  utiliser  la  méthode  :  



          MME.  LILIA  SFAXI                                                                                                                       2011/2012  
TP3  :  Composants  Android                                                                                                             5              
                                                                                                                                                                                
            
                                         menu.add(groupID, itemID, ordre, "nom du menu") ;

     Cette  méthode  permet  de  créer  un  nouveau  menu.  Les  paramètres  nécessaires  sont  les  suivants  :  
          -­‐‑        groupID  :  identifiant  du  groupe.  Il  est  possible  de  regrouper  les  éléments,  mais  dans  notre  cas,  on  n’en  a  pas  
                      besoin,  on  lui  donne  donc  la  valeur  0  ;  
          -­‐‑        itemID  :  identifiant  de  ce  menu.  Il  nous  sera  utilise  pour  identifier  ce  menu  parmi  les  autres.  On  doit  donner  
                      un  identifiant  différent  à  chaque  menu  (1,  2,  3…  par  exemple).  
          -­‐‑        ordre  :  associer  un  ordre  d’affichage  au  menu.  On  donnera  toujours  la  valeur  0.  
          -­‐‑        Nom  du  menu  :  chaîne  qui  représente  le  titre  du  menu.  
5.   Nous  devons  dire  quel  est  le  comportement  à  faire  quand  on  clique  sur  cet  élément  du  menu.  Pour  cela,  générer  la  
     méthode  :  

                                     public boolean onContextItemSelected(MenuItem item){…}

          Dans  le  corps  de  cette  méthode,  indiquer  le  comportement  à  adopter,  si  on  clique  sur  le  menu  1  ou  2  :  

                                     switch(item.getItemId()){
                                           case 1:
                                                 //traitement 1
                                           case 2:
                                                 //traitement 2
                                     }


       TAF-­‐‑4  :  Créer  un  menu  contextuel  sur  les  deux  boutons  radios.  Il  doit  contenir  deux  menus  :    
                 1.     «  Taux  dinar  -­‐‑>  euro  »  :  affiche  dans  un  Toast  le  taux  de  conversion  du  dinar  vers  l’euro.  
                 2.     «  Taux  euro  -­‐‑>  dinar  »  :  affiche  dans  un  Toast  le  taux  de  conversion  de  l’euro  vers  le  dinar.  




II.  2. Menu  d’options  

          Le  menu  d’options  se  gère  presque  de  la  même  manière  qu’un  menu  d’options,  mais  sans  la  gestion  de  l’élément  
graphique  auquel  est  associé  le  menu  contextuel.  

1.   Générer  la  méthode  onCreateOptionsMenu  dans  votre  activité.  Cette  méthode  permet  de  déterminer  le  comportement  
     de  l’application  quand  le  bouton  Menu  de  votre  téléphone  est  appuyé.  Elle  prend  comme  paramètre  un  objet  de  type  
     Menu  :  c’est  le  menu  que  vous  allez  manipuler.  
2.   Dans  le  corps  de  la  méthode  onCreateOptionsMenu  (avant  l’instruction  return),  ajouter  les  différents  menus  dont  vous  
     avez  besoin.    
3.   Générer  la  méthode  onOptionsItemSelected  pour  définir  le  comportement  au  clic  d’un  menu.  




          MME.  LILIA  SFAXI                                                                                                                                    2011/2012  
TP3  :  Composants  Android                                                                                                          6              
                                                                                                                                                                        
       

   TAF-­‐‑5  :  Créer  un  menu  d’options  qui  contient  deux  menus  :  
            1.        Conversion  C  <-­‐‑>  F  :  qu’on  laissera  vide  pour  l’instant  

            2.        Quitter  :  permet  de  quitter  l’application.  
            Indication  :  Pour  quitter  l’application,  il  faut  appeler  la  méthode  finish().    

       


III. Messages  d’Alerte  
     Pour  ajouter  un  message  d’alerte,  il  suffit  d’insérer  le  code  suivant  :  

     AlertDialog alertDialog;
     alertDialog = new AlertDialog.Builder(this).create();
     alertDialog.setTitle("titre de l’alerte");
     alertDialog.setMessage("Message à afficher !!!");
     alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
          }});
     alertDialog.show();  

   TAF-­‐‑6  :  Créer  une  alerte  appelée  si  l’utilisateur  clique  sur  le  bouton  conversion  alors  que  le  champs  en  entrée  est  vide.  

       


IV. Homework  
     -­‐‑        Créer  une  nouvelle  activité  dans  le  même  projet,  qui  s’appelle  ConversionTemperature.  Cette  activité  présente  
                 une  interface  similaire  à  l’activité  précédente,  et  permet  de  convertir  entre  le  Celcius  et  le  Farenheit.    

     Indication  :    
     Tc  =  (5/9)*(Tf-­‐‑32)                
     Tf  =  (9/5)*Tc+32;                  avec  Tc=température  en  Celcius  et  Tf=température  en  Farenheit  
                   
     -­‐‑        Implémenter  le  menu  d’option  Conversion  C  <-­‐‑>  F  de  la  première  activité  pour  qu’il  ouvre  la  deuxième  
     -­‐‑        Créer  un  menu  d’options  dans  la  deuxième  activité  qui  permet  de  :  
                        o     revenir  à  la  conversion  euro  <-­‐‑>  dinar  
                        o     quitter  

       



     MME.  LILIA  SFAXI                                                                                                                                 2011/2012  

Contenu connexe

Tendances

Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersLilia Sfaxi
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETLLilia Sfaxi
 
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Addi Ait-Mlouk
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api managementLilia Sfaxi
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia Sfaxi
 
Chapitre4 cours de java
Chapitre4 cours de javaChapitre4 cours de java
Chapitre4 cours de javainfo1994
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Addi Ait-Mlouk
 
Introduction à Android
Introduction à AndroidIntroduction à Android
Introduction à AndroidYoann Gotthilf
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de donnéesLilia Sfaxi
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart ClientGuillaume Sauthier
 

Tendances (18)

Tp4 - PHP
Tp4 - PHPTp4 - PHP
Tp4 - PHP
 
Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : Fichiers
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
 
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
 
575
575575
575
 
Chapitre4 cours de java
Chapitre4 cours de javaChapitre4 cours de java
Chapitre4 cours de java
 
Tp2 - Latex
Tp2 - LatexTp2 - Latex
Tp2 - Latex
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 
Rapport open erp
Rapport open erpRapport open erp
Rapport open erp
 
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
 
Spring ioc
Spring iocSpring ioc
Spring ioc
 
Introduction à Android
Introduction à AndroidIntroduction à Android
Introduction à Android
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
 
#5 Java EE5 Client Lourd et Smart Client
#5 Java EE5  Client Lourd  et Smart Client#5 Java EE5  Client Lourd  et Smart Client
#5 Java EE5 Client Lourd et Smart Client
 
Guide talend
Guide talendGuide talend
Guide talend
 
Chap android
Chap androidChap android
Chap android
 

En vedette

Cours 2 conception d'une ihm
Cours 2   conception d'une ihm Cours 2   conception d'une ihm
Cours 2 conception d'une ihm ludolmn
 
Cours 1 : introduction a l'ergonomie logicielle
Cours 1 :  introduction a l'ergonomie logicielleCours 1 :  introduction a l'ergonomie logicielle
Cours 1 : introduction a l'ergonomie logicielleludolmn
 
In01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMIIn01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMIYann Caron
 
Pour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiquePour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiqueLilia Sfaxi
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésLilia Sfaxi
 
Design pattern in android
Design pattern in androidDesign pattern in android
Design pattern in androidJay Kumarr
 
Développement Android
Développement AndroidDéveloppement Android
Développement AndroidFranck SIMON
 

En vedette (7)

Cours 2 conception d'une ihm
Cours 2   conception d'une ihm Cours 2   conception d'une ihm
Cours 2 conception d'une ihm
 
Cours 1 : introduction a l'ergonomie logicielle
Cours 1 :  introduction a l'ergonomie logicielleCours 1 :  introduction a l'ergonomie logicielle
Cours 1 : introduction a l'ergonomie logicielle
 
In01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMIIn01 - Programmation Android - 03 - HMI
In01 - Programmation Android - 03 - HMI
 
Pour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en InformatiquePour Écrire un Bon Rapport en Informatique
Pour Écrire un Bon Rapport en Informatique
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancés
 
Design pattern in android
Design pattern in androidDesign pattern in android
Design pattern in android
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 

Similaire à Composants Android

Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Farouk Mezghich
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...Hamza SAID
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Internationaliser un formulaire zend form
Internationaliser un formulaire zend formInternationaliser un formulaire zend form
Internationaliser un formulaire zend formGeozend
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Saber LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Sabeur LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Sabeur LAJILI
 
Initiation à Android
Initiation à AndroidInitiation à Android
Initiation à AndroidLilia Sfaxi
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 

Similaire à Composants Android (20)

Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
 
TP_1.pdf
TP_1.pdfTP_1.pdf
TP_1.pdf
 
Apple : iOS
Apple : iOSApple : iOS
Apple : iOS
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Internationaliser un formulaire zend form
Internationaliser un formulaire zend formInternationaliser un formulaire zend form
Internationaliser un formulaire zend form
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Initiation à Android
Initiation à AndroidInitiation à Android
Initiation à Android
 
Les Widgets
Les WidgetsLes Widgets
Les Widgets
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
Mycom
MycomMycom
Mycom
 
Mycom
MycomMycom
Mycom
 
Tuto bada
Tuto badaTuto bada
Tuto bada
 
c++
c++c++
c++
 
Poo
PooPoo
Poo
 
IoT.pptx
IoT.pptxIoT.pptx
IoT.pptx
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Lab3-Android
Lab3-AndroidLab3-Android
Lab3-Android
 
Lab 5-Android
Lab 5-AndroidLab 5-Android
Lab 5-Android
 

Dernier

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 

Dernier (20)

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 

Composants Android

  • 1.   Institut  Supérieur  d’Informatique   Université  de  Tunis  el  Manar   TP3  :  Composants  Android   Programmation  Mobile  –  2ème  Licence  –  Systèmes  Embarqués   Année  Universitaire  :  2011/2012       MME.  LILIA  SFAXI      
  • 2. TP3  :  Composants  Android   1         TP3  :  Composants  Android   Programmation  Mobile   Objectifs  du  TP   Ce  TP  a  pour  objectif  de  vous  initier  aux  différents  composants  importants  d’Android.     Nous  allons  dans  ce  TP  réaliser  progressivement  une  petite  application  de  conversion.     TAF-­‐‑1  :  Créer  un  nouveau  projet  intitulé  Conversion,  qui  contient  le  package  isi.conversion.  Créer  les  éléments  nécessaires   pour  que  l’interface  soit  comme  la  figure  suivante  :       I. Boutons,  boutons  radios  et  cases  à  cocher   Dans  le  TP  précédent,  nous  avons  vu  comment  gérer  le  comportement  des  boutons.  Ce  n’est  pas  la  seule  manière.     I.  1. Associer  un  comportement  à  un  bouton   1. Créer  une  méthode  dans  le  code  Java  de  l’activité  qui  définit  le  comportement  du  bouton.  On  l’appellera     public void auClicMethode(View v){…} Cette  méthode  doit  obligatoirement  être  publique,  retourner  void  et  avoir  un  paramètre  de  type  android.view.View.   2. Créer  un  bouton  dans  le  fichier  layout  en  utilisant  la  partie  graphique.   MME.  LILIA  SFAXI                  2011/2012  
  • 3. TP3  :  Composants  Android   2         3. Modifier  son  identifiant  et  son  texte  à  votre  guise   Remarque  :   Il   vous   est   possible   de   modifier   ces   informations   graphiquement.   Pour   cela,   ouvrir   la   partie   graphique  du  fichier  layout,  clic-­‐‑droit  sur  l’élément  à  configurer,  et  choisir  Edit  Text,  Edit  ID…       4. Dans  le  code  xml  de  votre  bouton,  ajouter  l’attribut  :   android:onClick = "@string/auClic" 5. Créer  dans  le  fichier  strings.xml  un  nouveau  string  dont  le  nom  est  auClic  et  la  valeur  est  auClicMethode  (qui  est  le  nom   de  la  méthode  que  vous  avez  créé  dans  1.  )   TAF-­‐‑2  :  Créer  une  méthode  appelée  convertir  et  l’associer  au  bouton  Convertir  de  votre  interface.   I.  2. Gérer  les  boutons  radios     Un  bouton  radio  est  un  bouton  à  deux  états  qui  peut  être  soit  coché  (checked)    ou  décoché  (unchecked).  Les  boutons   radios   sont   en   général   utilisés   dans   un   groupe   RadioGroup.   Au   sein   d’un   même   groupe,   un   seul   bouton   radio   peut   être   coché.   Pour  gérer  l’état  d’un  bouton  radio,  il  faut  suivre  les  étapes  suivantes  :   1. Créer  un  attribut  de  type  RadioButton  dans  votre  activité  (par  exemple  radio1).   2. L’associer  au  bouton  radio  approprié  de  votre  interface  en  utilisant  la  méthode  findViewById.   3. Pour  tester  l’état  de  votre  bouton  radio,  appeler  la  méthode  isChecked().  Par  exemple  :   if (radio1.isChecked() ){ //traitement } MME.  LILIA  SFAXI                  2011/2012  
  • 4. TP3  :  Composants  Android   3         TAF-­‐‑3  :     1. Créer  deux  méthodes  :  dinarToEuro  et  euroToDinar,  qui  prennent  de  convertir  une  valeur  en  entrée  :   private float dinarsToEuro(float valeurDinar) { return (float) (valeurDinar * 1.9919); } private float euroToDinar(float valeurEuro) { return (float) (valeurEuro * 0.5020); } 2. Implémenter  la  méthode  convertir  pour  qu’elle  fasse  la  conversion  nécessaire,  selon  le  bouton  radio  qui  est  coché.   Mettre  le  résultat  dans  le  champs  de  texte  Resultat.     Indication  :  La  valeur  lue  dans  le  champs  de  saisie  (ici  appelé  edt)  doit  être  convertie  en  float  pour  être  manipulée.  Pour  cela,   utiliser  le  code  suivant  :   EditText edt = (EditText) findViewById(R.id.edit_float); float number = Float.valueOf(edt.getText().toString());       D’autre  part,  pour  extraire  la  chaîne  de  caractères  associée  à  une  variable  float  (appelée  ici  floatVar),  utiliser  le  code  suivant  :     String s = String.valueOf(floatVar) ; I.  3. Gérer  les  cases  à  cocher   Tout   comme   les   boutons   radio,   les   cases   à   cocher   ont   deux   états  :   coché   ou   décoché.   Cependant,   on   peut   avoir   plusieurs  cases  qui  sont  cochées  en  même  temps,  et  elle  sont  la  plupart  du  temps  indépendantes.   Pour  gérer  l’état  d’une  case  à  cocher,  il  faut  suivre  les  étapes  suivantes  :   1. Créer  un  attribut  de  type  CheckBox  dans  votre  activité  (par  exemple  check1).   2. L’associer  à  la  case  à  cocher  appropriée  de  votre  interface  en  utilisant  la  méthode  findViewById.   3. Pour  tester  l’état  de  votre  case  à  cocher,  appeler  la  méthode  isChecked().  Par  exemple  :   if (check1.isChecked() ){ //traitement } 4. Pour  modifier  l’état  de  la  case  à  cocher,  utiliser  la  méthode  setChecked(boolean  etat).  Par  exemple  :   check1.setChecked(false) ; //pour décocher la case check1.setChecked(true) ; //pour cocher la case MME.  LILIA  SFAXI                  2011/2012  
  • 5. TP3  :  Composants  Android   4         II. Menus   Sur  Android,  les  menus  permettent  d’ajouter  des  fonctionnalités  à  une  application  en  fournissant  des  opérations   supplémentaires,  initialement  cachées  à  l’utilisateur.     Il  existe  deux  types  de  menus  :   -­‐‑ Un  menu  d’options  :  déclenché  par  le  bouton  matériel  Menu  sur  le  téléphone.   -­‐‑ Un  menu  contextuel  :  déclenché  par  un  évènement  sur  un  élément  de  l’interface,  par  exemple  un  long  clic.   Ces  deux  types  de  menus  peuvent  contenir  :   -­‐‑ Du  texte   -­‐‑ Des  icônes   -­‐‑ Des  boutons  radios   -­‐‑ Des  cases  à  cocher   -­‐‑ Des  sous-­‐‑menus   -­‐‑ Des  raccourcis…   II.  1. Menu  contextuel   Pour  définir  un  menu  contextuel,  qui  sera  déclenché  suite  à  un  long  clic  sur  un  élément  (que  j’appelle  ici  element  :   il  peut  être  un  bouton,  un  textView,  ou  même  le  layout  en  entier)  :     1. Créer  un  attribut  pour  l’élément  auquel  on  veut  ajouter  un  menu  contextuel,  et  l’associer  à  l’élément  graphique  avec   la  méthode  findViewById(…).     2. Ajouter  un  écouteur  pour  le  long  clic,  de  la  même  manière  que  nous  avons  ajouté  un  écouteur  pour  le  clic  dans  le  TP   précédent.  Cet  écouteur(  Listener),  va  ordonner  l’affichage  du  menu  contextuel  quand  on  fait  un  long  clic  sur  element  :             element.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { v.showContextMenu(); return false; }}); element.setOnCreateContextMenuListener (this) ; 3. Indiquer  le  comportement  de  ce  menu.  Pour  cela,  générer  la  méthode  onCreateContextMenu  dans  votre  activité.  Elle  est   appelée  quand  un  menu  contextuel  va  être  affiché.     4. Dans  le  corps  de  cette  méthode,  on  peut  ajouter  des  menus.  Pour  cela,  utiliser  la  méthode  :   MME.  LILIA  SFAXI                  2011/2012  
  • 6. TP3  :  Composants  Android   5         menu.add(groupID, itemID, ordre, "nom du menu") ; Cette  méthode  permet  de  créer  un  nouveau  menu.  Les  paramètres  nécessaires  sont  les  suivants  :   -­‐‑ groupID  :  identifiant  du  groupe.  Il  est  possible  de  regrouper  les  éléments,  mais  dans  notre  cas,  on  n’en  a  pas   besoin,  on  lui  donne  donc  la  valeur  0  ;   -­‐‑ itemID  :  identifiant  de  ce  menu.  Il  nous  sera  utilise  pour  identifier  ce  menu  parmi  les  autres.  On  doit  donner   un  identifiant  différent  à  chaque  menu  (1,  2,  3…  par  exemple).   -­‐‑ ordre  :  associer  un  ordre  d’affichage  au  menu.  On  donnera  toujours  la  valeur  0.   -­‐‑ Nom  du  menu  :  chaîne  qui  représente  le  titre  du  menu.   5. Nous  devons  dire  quel  est  le  comportement  à  faire  quand  on  clique  sur  cet  élément  du  menu.  Pour  cela,  générer  la   méthode  :   public boolean onContextItemSelected(MenuItem item){…} Dans  le  corps  de  cette  méthode,  indiquer  le  comportement  à  adopter,  si  on  clique  sur  le  menu  1  ou  2  :   switch(item.getItemId()){ case 1: //traitement 1 case 2: //traitement 2 } TAF-­‐‑4  :  Créer  un  menu  contextuel  sur  les  deux  boutons  radios.  Il  doit  contenir  deux  menus  :     1. «  Taux  dinar  -­‐‑>  euro  »  :  affiche  dans  un  Toast  le  taux  de  conversion  du  dinar  vers  l’euro.   2. «  Taux  euro  -­‐‑>  dinar  »  :  affiche  dans  un  Toast  le  taux  de  conversion  de  l’euro  vers  le  dinar.   II.  2. Menu  d’options   Le  menu  d’options  se  gère  presque  de  la  même  manière  qu’un  menu  d’options,  mais  sans  la  gestion  de  l’élément   graphique  auquel  est  associé  le  menu  contextuel.   1. Générer  la  méthode  onCreateOptionsMenu  dans  votre  activité.  Cette  méthode  permet  de  déterminer  le  comportement   de  l’application  quand  le  bouton  Menu  de  votre  téléphone  est  appuyé.  Elle  prend  comme  paramètre  un  objet  de  type   Menu  :  c’est  le  menu  que  vous  allez  manipuler.   2. Dans  le  corps  de  la  méthode  onCreateOptionsMenu  (avant  l’instruction  return),  ajouter  les  différents  menus  dont  vous   avez  besoin.     3. Générer  la  méthode  onOptionsItemSelected  pour  définir  le  comportement  au  clic  d’un  menu.   MME.  LILIA  SFAXI                  2011/2012  
  • 7. TP3  :  Composants  Android   6         TAF-­‐‑5  :  Créer  un  menu  d’options  qui  contient  deux  menus  :   1. Conversion  C  <-­‐‑>  F  :  qu’on  laissera  vide  pour  l’instant   2. Quitter  :  permet  de  quitter  l’application.   Indication  :  Pour  quitter  l’application,  il  faut  appeler  la  méthode  finish().       III. Messages  d’Alerte   Pour  ajouter  un  message  d’alerte,  il  suffit  d’insérer  le  code  suivant  :   AlertDialog alertDialog; alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle("titre de l’alerte"); alertDialog.setMessage("Message à afficher !!!"); alertDialog.setButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); }}); alertDialog.show();   TAF-­‐‑6  :  Créer  une  alerte  appelée  si  l’utilisateur  clique  sur  le  bouton  conversion  alors  que  le  champs  en  entrée  est  vide.     IV. Homework   -­‐‑ Créer  une  nouvelle  activité  dans  le  même  projet,  qui  s’appelle  ConversionTemperature.  Cette  activité  présente   une  interface  similaire  à  l’activité  précédente,  et  permet  de  convertir  entre  le  Celcius  et  le  Farenheit.     Indication  :     Tc  =  (5/9)*(Tf-­‐‑32)                 Tf  =  (9/5)*Tc+32;                  avec  Tc=température  en  Celcius  et  Tf=température  en  Farenheit     -­‐‑ Implémenter  le  menu  d’option  Conversion  C  <-­‐‑>  F  de  la  première  activité  pour  qu’il  ouvre  la  deuxième   -­‐‑ Créer  un  menu  d’options  dans  la  deuxième  activité  qui  permet  de  :   o revenir  à  la  conversion  euro  <-­‐‑>  dinar   o quitter     MME.  LILIA  SFAXI                  2011/2012