26/04/2023
Les événements Implantation du comportement
Les fichiers XML ne permettent que de :
DÉVELOPPEMENT POUR MOBILES positionner les composants ;
définir leurs caractéristiques.
(ANDROID)
Nécessité de :
définir leur comportement
Chapitre 3 :
o type d'interaction (clic court, clic long, etc.)
La gestion des
événements o code de prise en compte (Java)
lier composant et code (XML ou Java)
o XML : attribut android:onClick
o Java : instancier un event listener
Dr. KHALIFI Hamid
[Link]@[Link]
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Gestion de clic Les événements Méthode 1 : Solution Java
Création d'un auditeur d'événements
Il existe plusieurs façons d'interagir avec une interface
graphique. Par exemple cliquer sur un bouton ou une touche du Pour pouvoir réagir à l'apparition d'un événements, il faut
clavier, etc ... Ces interactions s'appellent des événements. utiliser un objet qui va détecter l'événement afin de vous
Méthode 1: Créer un auditeur d'événements et l'enregistrer
permettre le traiter.
auprès du composant (View).
Ce type d'objet s'appelle un listener.
Méthode 2 : les vues (Views) sont elles mêmes auditrices de
certains événements : (cliquer sur un bouton par exemple). Il Un listener est une interface qui vous oblige à redéfinir des
suffit donc de spécialiser la méthode adaptée et lancée lorsque méthodes qui vont être appelée un moment où se produira
l'événement survient.
l'événement associé.
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Méthode 1 : Solution Java Les événements Méthode 1 : Solution Java
Création d'un auditeur d'événements Création d'un auditeur d'événements
L'implémentation d'un listener à une classe : Il existe plusieurs interfaces, une pour chaque type d'actions.
Ca veut dire que la classe sera à l'écoute des actions qu'on Exemple de gestion d'un clic normal :
effectuera sur les vues. L'interface utilisée s'appelle [Link] et nous exige
A chaque fois qu'on effectuera une action, une méthode qui à définir la méthode void onClick (View v).
correspond à cette action sera appelée, et on définira dans cette C'est dans cette méthode qu'on définira la conduite à
méthode ce qu'il faut faire une fois l'action effectuée. adopter en cas de clic. L'argument de type View est la vue
sur laquelle le clic a été effectué.
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
1
26/04/2023
Les événements Méthode 1 : Solution Java Les événements Méthode 1 : Solution Java
Création d'un auditeur d'événements Création d'un auditeur d'événements
Avec cette méthode, l'événement est réalisé dans la méthode
onCreate() de l'activité suivant les étapes ci-dessous :
1. On récupère le composant depuis le layout XML avec :
findViewById([Link].id_composant).
2. On appelle le setter pour l'installation du listener.
3. On insère le corps d'événement à l'intérieur du listener.
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Méthode 1 : Solution Java Les événements Méthode 2 : Solution XML
Création d'un auditeur d'événements Vue auditrice d'événement
Exemple : Cette méthode permet d'écrire directement la gestion
d'événements qui peuvent se produire dans la vue (View).
L'attribut android:onClick d'un composant graphique
indique le nom de la méthode qui sera lancée si on clique
sur cette vue (View) c. à. d. Il doit être suivi du nom de la
méthode à appeler en cas de déclenchement
Prototype :
public void nomDeLaMethode(View Vue)
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Méthode 2 : Solution XML Les événements Méthode 2 : Solution XML
Vue auditrice d'événement Vue auditrice d'événement
Exemple :
Ajout de l'attribut android:onCLick à l'élément Button
Valeur : méthode définie dans l'activité contenant la vue (View)
Signature standardisée : public void et un paramètre de type View
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
2
26/04/2023
Les événements Méthode 2 : Solution XML Les événements Méthode 2 : Solution XML
Vue auditrice d'événement Plusieurs vues pour le même événement
Il est possible de récupérer des informations sur le
composant graphique qui a généré l'événement.
<Button
android:id="@+id/monBouton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/monTexte"
android:onClick="onBoutonClique"
/>
public void onBoutonClique(View maVue) { Récupération :
[Link]("le bouton a été cliqué"); [Link]()
} [Link]
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Evénement Toast Les événements Evénement Toast
La notification rapide (Toast) La classe Toast permet de créer un texte qui apparaît en premier
Apparaître un message de notification, tout simple : plan puis disparaît au bout d'un temps donnée. A considérer
Visualisation : comme un message d'information ou d'avertissement.
La classe Toast permet de créer un message avec la méthode
makeText(), cette dernière prend 3 paramètres :
Le contexte de l'application.
Code : Le message à afficher.
La durée d'affichage (Peut être : Toast.LENGTH_SHORT ou
Toast.LENGHT_LONG).
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Evénement Toast Les événements Evénement Toast
Remarque 1 :
Il est possible d'utiliser makeText avec un identifiant sur le texte
à afficher en passant ainsi par une ressource texte :
La méthode makeText construit une instance de Toast avec ces
paramètres que vous n'aurez plus qu'à afficher via la méthode
show().
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
3
26/04/2023
Les événements Evénement Toast Les événements Evénement Toast
Remarque 2 : Remarque 3 :
Il est possible de déclarer et afficher le message Toast avec deux Il est possible de personnaliser un Toast grâce à la bibliothèque
instructions différentes : externe Toasty :
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Snackbars Les événements Widgets & Event
Les listes (ListView)
Afficher des messages et interagit
U n e Li stVi ew est fai t à p ar ti r d 'u n grou p e d e Li stI tem .
avec l'utilisateur :
Une ListItem est une pièce de l'interface qui peut être créée par un nombre
de View.
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Widgets & Event Les événements Widgets & Event
Les listes (ListView) Les listes (ListView)
Le code Java:
L’évènement :
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
4
26/04/2023
Les événements Widgets & Event Les événements Widgets & Event
Les menus d’option (Menu/MenuItem) Les menus d’option (Menu/MenuItem)
En XML:
En Java :
Visualisation :
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Widgets & Event Les événements Résumé
Les menus d’option (Menu/MenuItem) Il est possible d'associer un évènement à un attribut
L’évènement : XML :
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Résumé Les événements Différents types d’événements
Ou bien : Le fonctionnement des événements dépendant du type de
composant et du diapositif d'entrée.
Les principaux événements supportés par l'ensemble des vues :
Click : clic sur un composant
longClick : clic long sur un composant
key : appui sur une touche d'un clavier physique
drag : événement de glissé (lors d'un glissé)
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
5
26/04/2023
Les événements Différents types d’événements Les événements Différents types d’événements
Evénements généraux : Evénements spécifiques:
Les Views : TextView et EditText :
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Différents types d’événements Les événements Différents types d’événements
Evénements spécifiques: Evénements spécifiques:
ListView , GridView , Spinner et Gallery : ListView , GridView , Spinner et Gallery :
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID
Les événements Différents types d’événements
Autres événements :
OnClickListener() : Ceci est appelé lorsque l'utilisateur touche l'élément (en mode tactile),
onClick ou se concentre sur l'élément avec les touches de navigation ou la boule de commande et appuie
sur la touche "Entrée" appropriée ou appuie sur la boule de commande.
OnLongClickListener() : Ceci est appelé lorsque l'utilisateur touche et tient l'objet (en
mode tactile), ou se concentre sur l'élément avec les touches de navigation ou la boule de
onLongClick commande et appuie sur la touche "Entrée" appropriée ou appuie et appuie sur la boule de
commande ( pour une seconde).
OnFocusChangeListener() : Ceci est appelé lorsque l'utilisateur exécute une action
onFocusChange qualifiée d'événement tactile, y compris une pression, une libération ou un geste de mouvement
sur l'écran (dans les limites de l'élément).
onKey OnKeyListener() : Ceci est appelé lorsque l'utilisateur est concentré sur l'élément et
appuie ou libère une clé matérielle sur l'appareil.
onTouch OnTouchListener() : Ceci est appelé lorsque l'utilisateur appuie sur la touche, relâche la
touche, ou tout geste de mouvement à l'écran.
onMenuItemClick OnMenuItemClickListener() : Ceci est appelé lorsque l'utilisateur sélectionne un
élément de menu.
onCreateContext onCreateContextMenuItemListener() : Ceci est appelé lors de la construction
d'un menu contextuel (résultat d'un long clic prolongé)
Menu
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID