Université Constantine 2
Dr. CHAOUCHE A.-C.
Faculté des nouvelles technologies
ahmed.chaouche@univ-constantine2.dz
– Cours 8 –
Chapitre 6 : Evènements et intentions (1/2)
Développement d’applications mobiles
2018/2019. Semestre 1
Université Constantine 2
Etudiants concernés
Faculté/Institut Département Niveau Spécialité
2018/2019. Semestre 1
Dr. CHAOUCHE A.-C.
Faculté des nouvelles technologies
ahmed.chaouche@univ-constantine2.dz
Développement d’applications mobiles
Licence 3 Technologies de l’information (TI)Nouvelles technologies IFA
Licence 3 Science de l’informatique (SCI)Nouvelles technologies IFA
– Cours 8 –
Chapitre 6 : Evènements et intentions (1/2)
Université Constantine 2 3
Prérequis
Maîtrise de Android Studio
Création et exécution d’un projet Android
Objectifs du cours
Gérer les évènements d’une vues (click, key, ...)
Afficher des messages de journalisation (Logs) et d’information (Toasts)
Résumé
© Dr. Chaouche A.-C.
Université Constantine 2 4
Abonner l’activité à des évènements spécifiques
Listener = Observer design pattern
Gestion des événements (1/2) – Clic
Méthode 1 : En utilisant un listener
© Dr. Chaouche A.-C.
/java/MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
...
Button b = (Button) findViewById(R.id.btn);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
... // bouton cliqué!!!
}
});
}
call
onClick
callback
click
APPLICATION
Université Constantine 2 5
Gestion des événements (2/2) – Clic
Méthode 2 : au niveau du layout
© Dr. Chaouche A.-C.
/java/MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
public void func(View v) {
... // bouton cliqué!!!
}
/res/layout/activity_main.xml
<Button
android:onClick="func"
android:id="@+id/btn"/>
...
Université Constantine 2 6
Liste des interfaces de listeners graphiques
© Dr. Chaouche A.-C.
android.View
OnClickListener // clic
OnLongClickListener // clic long
OnDragListener // glissement
OnTouchListener // touché
OnHoverListener // survol
OnKeyListener // frappe de clavier
OnAttachStateChangeListener // changement de l’état d’attachement
OnLayoutChangeListener // changement du layout
OnCreateContextMenuListener // création du menu contextuel
OnFocusChangeListener // changement du focus
OnGenericMotionListener // un mouvement (mouse, pen, finger, ...)
OnSystemUiVisibilityChangeListener // changement de la visibilité de
// la barre d’état
Université Constantine 2 7
Affiche des messages dans le logcat de façon
structurée
Niveaux de verbosité
Verbose, debug, info, erreur, avertissement
Méthodes statiques de la classe Log
Log.v(…), Log.d(…), Log.i(…), Log.e(…), Log.w(…)
Paramètres : "tag", "message"
Exemples
Débogage : LogCat
© Dr. Chaouche A.-C.
Log.d("MainActivity", "onCreate: Création de l’activité.");
Log.e("MainActivity", "onClick: Une erreur!!!");
Université Constantine 2 8
affiche des messages d'information à l'utilisateur
Méthodes statiques de la classe Toast
makeText(Context context, CharSequence text, int duration)
Exemple
Il est possible de personnaliser un Toast grâce à la bibliothèque externe Toasty :
Toasts
© Dr. Chaouche A.-C.
Toast t = Toast.makeText(v.getContext(), "msg", Toast.LENGTH_SHORT);
t.show();
Université Constantine 2 9
affiche des messages et interagit avec l'utilisateur
Méthodes statiques de la classe Snackbar
make(Context context, CharSequence text, int duration)
Exemple
Snackbars
© Dr. Chaouche A.-C.
import android.support.design.widget.Snackbar;
...
Snackbar s = Snackbar.make(this, "msg", Snackbar.LENGTH_INDEFINITE);
s.setAction("UNDO", new View.OnClickListener() {
@Override
public void onClick(View v) { ... }
});
s.show();
Université Constantine 2 10
Lors du clic sur le Button
1. Vérifier si :
L’identifiant = "abcd" et
Le mot de passe = "EFGH"
2. Afficher un Log et un Toast en fonction du
résultat
TP2a : Affichage d’un Log et d’un Toast
© Dr. Chaouche A.-C.
Université Constantine 2 11
Evènements et listeners graphiques :
http://developer.android.com/reference/android/view/View.html
Messages de journalisation (Logs) :
https://cyrilmottier.com/2009/03/11/utilisation-des-logx/
Toasts :
http://supertos.free.fr/supertos.php?page=1091
Quelques liens utiles
© Dr. Chaouche A.-C.
Université Constantine 2 12
Source making, «Observer Design Pattern,». Lien :
https://sourcemaking.com/design_patterns/observer.
E. Gamma, R. Helm, R. Johnson et J. Vlissides, Design Patterns: Elements of
Reusable Object-Oriented Software, Boston, MA: Addison-Wesley Longman
Publishing Co., Inc., 1994.
B. Caylux, «Classes interne, locale et anonyme,». Lien : http://imss-www.upmf-
grenoble.fr/prevert/Prog/Java/CoursJava/classes3.html.
Android Developer, «References - Android Plateform API 26 : Input Events,». Lien :
https://developer.android.com/guide/topics/ui/ui-events.html.
Android Developer, «Write and View Logs with Logcat,». Lien :
https://developer.android.com/studio/debug/am-logcat.html.
Android Developer, «References - Android Plateform API 26 : Toasts,». Lien:
https://developer.android.com/guide/topics/ui/notifiers/toasts.html.
D. Morales, «Library : Toasty v1.2.5,» 25 Octobre 2017. Lien :
https://github.com/GrenderG/Toasty.
Références
© Dr. Chaouche A.-C.

Applications Android - cours 8 : Gestion des évènements

  • 1.
    Université Constantine 2 Dr.CHAOUCHE A.-C. Faculté des nouvelles technologies ahmed.chaouche@univ-constantine2.dz – Cours 8 – Chapitre 6 : Evènements et intentions (1/2) Développement d’applications mobiles 2018/2019. Semestre 1
  • 2.
    Université Constantine 2 Etudiantsconcernés Faculté/Institut Département Niveau Spécialité 2018/2019. Semestre 1 Dr. CHAOUCHE A.-C. Faculté des nouvelles technologies ahmed.chaouche@univ-constantine2.dz Développement d’applications mobiles Licence 3 Technologies de l’information (TI)Nouvelles technologies IFA Licence 3 Science de l’informatique (SCI)Nouvelles technologies IFA – Cours 8 – Chapitre 6 : Evènements et intentions (1/2)
  • 3.
    Université Constantine 23 Prérequis Maîtrise de Android Studio Création et exécution d’un projet Android Objectifs du cours Gérer les évènements d’une vues (click, key, ...) Afficher des messages de journalisation (Logs) et d’information (Toasts) Résumé © Dr. Chaouche A.-C.
  • 4.
    Université Constantine 24 Abonner l’activité à des évènements spécifiques Listener = Observer design pattern Gestion des événements (1/2) – Clic Méthode 1 : En utilisant un listener © Dr. Chaouche A.-C. /java/MainActivity.java @Override public void onCreate(Bundle savedInstanceState) { ... Button b = (Button) findViewById(R.id.btn); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ ... // bouton cliqué!!! } }); } call onClick callback click APPLICATION
  • 5.
    Université Constantine 25 Gestion des événements (2/2) – Clic Méthode 2 : au niveau du layout © Dr. Chaouche A.-C. /java/MainActivity.java @Override public void onCreate(Bundle savedInstanceState) { ... } public void func(View v) { ... // bouton cliqué!!! } /res/layout/activity_main.xml <Button android:onClick="func" android:id="@+id/btn"/> ...
  • 6.
    Université Constantine 26 Liste des interfaces de listeners graphiques © Dr. Chaouche A.-C. android.View OnClickListener // clic OnLongClickListener // clic long OnDragListener // glissement OnTouchListener // touché OnHoverListener // survol OnKeyListener // frappe de clavier OnAttachStateChangeListener // changement de l’état d’attachement OnLayoutChangeListener // changement du layout OnCreateContextMenuListener // création du menu contextuel OnFocusChangeListener // changement du focus OnGenericMotionListener // un mouvement (mouse, pen, finger, ...) OnSystemUiVisibilityChangeListener // changement de la visibilité de // la barre d’état
  • 7.
    Université Constantine 27 Affiche des messages dans le logcat de façon structurée Niveaux de verbosité Verbose, debug, info, erreur, avertissement Méthodes statiques de la classe Log Log.v(…), Log.d(…), Log.i(…), Log.e(…), Log.w(…) Paramètres : "tag", "message" Exemples Débogage : LogCat © Dr. Chaouche A.-C. Log.d("MainActivity", "onCreate: Création de l’activité."); Log.e("MainActivity", "onClick: Une erreur!!!");
  • 8.
    Université Constantine 28 affiche des messages d'information à l'utilisateur Méthodes statiques de la classe Toast makeText(Context context, CharSequence text, int duration) Exemple Il est possible de personnaliser un Toast grâce à la bibliothèque externe Toasty : Toasts © Dr. Chaouche A.-C. Toast t = Toast.makeText(v.getContext(), "msg", Toast.LENGTH_SHORT); t.show();
  • 9.
    Université Constantine 29 affiche des messages et interagit avec l'utilisateur Méthodes statiques de la classe Snackbar make(Context context, CharSequence text, int duration) Exemple Snackbars © Dr. Chaouche A.-C. import android.support.design.widget.Snackbar; ... Snackbar s = Snackbar.make(this, "msg", Snackbar.LENGTH_INDEFINITE); s.setAction("UNDO", new View.OnClickListener() { @Override public void onClick(View v) { ... } }); s.show();
  • 10.
    Université Constantine 210 Lors du clic sur le Button 1. Vérifier si : L’identifiant = "abcd" et Le mot de passe = "EFGH" 2. Afficher un Log et un Toast en fonction du résultat TP2a : Affichage d’un Log et d’un Toast © Dr. Chaouche A.-C.
  • 11.
    Université Constantine 211 Evènements et listeners graphiques : http://developer.android.com/reference/android/view/View.html Messages de journalisation (Logs) : https://cyrilmottier.com/2009/03/11/utilisation-des-logx/ Toasts : http://supertos.free.fr/supertos.php?page=1091 Quelques liens utiles © Dr. Chaouche A.-C.
  • 12.
    Université Constantine 212 Source making, «Observer Design Pattern,». Lien : https://sourcemaking.com/design_patterns/observer. E. Gamma, R. Helm, R. Johnson et J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Boston, MA: Addison-Wesley Longman Publishing Co., Inc., 1994. B. Caylux, «Classes interne, locale et anonyme,». Lien : http://imss-www.upmf- grenoble.fr/prevert/Prog/Java/CoursJava/classes3.html. Android Developer, «References - Android Plateform API 26 : Input Events,». Lien : https://developer.android.com/guide/topics/ui/ui-events.html. Android Developer, «Write and View Logs with Logcat,». Lien : https://developer.android.com/studio/debug/am-logcat.html. Android Developer, «References - Android Plateform API 26 : Toasts,». Lien: https://developer.android.com/guide/topics/ui/notifiers/toasts.html. D. Morales, «Library : Toasty v1.2.5,» 25 Octobre 2017. Lien : https://github.com/GrenderG/Toasty. Références © Dr. Chaouche A.-C.