Вы находитесь на странице: 1из 12

Développement d’applications mobiles

– Cours 8 –
Chapitre 6 : Evènements et intentions (1/2)

Dr. CHAOUCHE A.-C.


Faculté des nouvelles technologies
ahmed.chaouche@univ-constantine2.dz

Université Constantine 2 2018/2019. Semestre 1


Développement d’applications mobiles
– Cours 8 –
Chapitre 6 : Evènements et intentions (1/2)

Dr. CHAOUCHE A.-C.


Faculté des nouvelles technologies
ahmed.chaouche@univ-constantine2.dz

Etudiants concernés
Faculté/Institut Département Niveau Spécialité

Nouvelles technologies IFA Licence 3 Technologies de l’information (TI)


Nouvelles technologies IFA Licence 3 Science de l’informatique (SCI)

Université Constantine 2 2018/2019. Semestre 1


Résumé

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)

Université Constantine 2 © Dr. Chaouche A.-C. 3


Gestion des événements (1/2) – Clic
Méthode 1 : En utilisant un listener

Abonner l’activité à des évènements spécifiques


call
Listener = Observer design pattern

APPLICATION
click

/java/MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) { callback
... onClick
Button b = (Button) findViewById(R.id.btn);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
... // bouton cliqué!!!
}
});
}

Université Constantine 2 © Dr. Chaouche A.-C. 4


Gestion des événements (2/2) – Clic
Méthode 2 : au niveau du layout

/res/layout/activity_main.xml
<Button
android:onClick="func"
android:id="@+id/btn"/>
...

/java/MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
public void func(View v) {
... // bouton cliqué!!!
}

Université Constantine 2 © Dr. Chaouche A.-C. 5


Liste des interfaces de listeners graphiques

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 © Dr. Chaouche A.-C. 6


Débogage : LogCat

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
Log.d("MainActivity", "onCreate: Création de l’activité.");
Log.e("MainActivity", "onClick: Une erreur!!!");

Université Constantine 2 © Dr. Chaouche A.-C. 7


Toasts

affiche des messages d'information à l'utilisateur

Méthodes statiques de la classe Toast


makeText(Context context, CharSequence text, int duration)

Exemple
Toast t = Toast.makeText(v.getContext(), "msg", Toast.LENGTH_SHORT);
t.show();

Il est possible de personnaliser un Toast grâce à la bibliothèque externe Toasty :

Université Constantine 2 © Dr. Chaouche A.-C. 8


Snackbars

affiche des messages et interagit avec l'utilisateur

Méthodes statiques de la classe Snackbar


make(Context context, CharSequence text, int duration)

Exemple
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 © Dr. Chaouche A.-C. 9


TP2a : Affichage d’un Log et d’un Toast

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

Université Constantine 2 © Dr. Chaouche A.-C. 10


Quelques liens utiles

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

Université Constantine 2 © Dr. Chaouche A.-C. 11


Références
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.

Université Constantine 2 © Dr. Chaouche A.-C. 12

Вам также может понравиться