Contenu connexe Similaire à Applications Android - cours 11 : Boites de dialogue (20) Applications Android - cours 11 : Boites de dialogue1. Université Constantine 2
Dr. CHAOUCHE A.-C.
Faculté des nouvelles technologies
ahmed.chaouche@univ-constantine2.dz
– Cours 11 –
Chapitre 7 : Vues à adaptateurs et boites de dialogue (2/2)
Boites de dialogue
Développement d’applications mobiles
2018/2019. Semestre 1
2. 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 11 –
Chapitre 7 : Vues à adaptateurs et boites de dialogue (2/2)
Boites de dialogue
3. Université Constantine 2 3
Prérequis
Gestion des vues et des layouts
Gestion des évènements
Objectifs du cours
Afficher des boites de dialogue de type Alerte
Créer et afficher des boites de dialogue personnalisées
Résumé
© Dr. Chaouche A.-C.
5. Université Constantine 2 5
Fenêtre modale qui possède des boutons pour interagir avec l'utilisateur
Les boites de dialogues héritent de la classe android.app.Dialog
Android fournit des boites de dialogues prédéfinies :
AlertDialog : alerte
ProgressDialog : information sur un traitement en cours
DatePickerDialog : choix d'une date
TimePickerDialog : choix d'une heure
... extends Dialog : personnalisée
Boites de dialogue (Dialog)
© Dr. Chaouche A.-C.
6. Université Constantine 2 6
La classe interne Builder permet de
simplifier la construction de la boite de dialogue
De nombreuses méthode permettent d'ajouter un message, un titre, une
liste d'items, etc.
L'affichage de la boite de dialogue est effectué avec show()
La boite de dialogue est fermée avec dismiss() et cancel()
AlertDialog (1/2)
© Dr. Chaouche A.-C.
7. Université Constantine 2 7
AlertDialog (2/2)
© Dr. Chaouche A.-C.
/java/MainActivity.java
...
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Exit Application?");
builder.setMessage("Click yes to exit!");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id) { ... }
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int id) { ... }
});
AlertDialog dialog = builder.create();
dialog.show();
...
8. Université Constantine 2 8
AlertDialog avec choix
© Dr. Chaouche A.-C.
/java/MainActivity.java
...
String[] list = {"Warrior", "Archer", "Wizard"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Choose your class");
builder.setItems(list, new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int position) {
Log.i("Dialog", "Position = " + position);
}
});
AlertDialog dialog = builder.create();
dialog.show();
...
9. Université Constantine 2 9
ProgressDialog
© Dr. Chaouche A.-C.
/java/MainActivity.java
...
ProgressDialog dialog = new ProgressDialog(this); // Depricated
dialog.setCancelable(true);
dialog.setIndeterminate(true);
dialog.setTitle("Please Wait...");
dialog.setMessage("Preparing to download...");
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.show();
...
10. Université Constantine 2 10
Dialog personnalisés
1. Créer une boite de dialogue
© Dr. Chaouche A.-C.
/java/CustomDialog.java
public class CustomDialog extends Dialog {
public CustomDialog(Context context){ super(context); ... }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_custom);
...
}
}
/res/layout/dialog_custom.xml
<LinearLayout xmlns:android="http://schemas.android...
android:layout_width="match_parent"
android:layout_height="match_parent">
...
</LinearLayout>
11. Université Constantine 2 11
Dialog personnalisés
2. Lancer et fermer la boite de dialogue
© Dr. Chaouche A.-C.
/java/MainActivity.java
...
CustomDialog dialog = new CustomDialog(MainActivity.this);
dialog.show();
...
dialog.dismiss();
12. Université Constantine 2 12
En cliquant sur chaque élément du GridView, afficher la
boite de dialogue SyllabusDialog
Création d’un Dialog personnalisé SyllabusDialog
Des TextView pour afficher les informations concernant
le module
Un Button pour afficher le contenu du module
TP3c : Affichage du détail d’un module
© Dr. Chaouche A.-C.
13. Université Constantine 2 13
1. Dans l’éditeur Java > Mettre un point d'arrêt (breakpoint)
2. Débuguer l'application en cliquant sur
3. Après l’executionde l'application> cliquer sur
un élément
Débogage sous Android Studio (1/2)
Etapes
© Dr. Chaouche A.-C.
14. Université Constantine 2 14
4. Dans le code source > L'application est arrêtée dans le point d'arrêt
5. Dans Android Studio > une fenètre "Debug" apparaît
Débogage sous Android Studio (2/2)
Etapes
© Dr. Chaouche A.-C.
15. Université Constantine 2 15
Documents sont accessibles :
Plateforme e-learning de l’université Constantine 2
Lien : http://elearning.univ-constantine2.dz/
Rendus du TP 3 :
Avant le Mardi 14 décembre à 23h59
À : ac.chaouche@misc-umc.org
Nom du fichier à rendre :
DAM_TP3_G%_NOMBINOME1_NOMBINOME2.zip
(Ex : DAM_TP3_G1_CHAOUCHE_NECIBI.zip)
Le fichier zip doit contenir seulement le dossier src
Documents et Rendus
© Dr. Chaouche A.-C.
16. Université Constantine 2 16
Chapitre 8 : Persistance de données sous Android
Objectifs :
Connaître les sources de données possibles sous Android
Mettre en œuvre l’API Helper pour exploiter une BD SQLite
Persister des données dans une BD SQLite
Prochain chapitre
© Dr. Chaouche A.-C.
17. Université Constantine 2 17
ProgressDialog avancé :
http://www.oodlestechnologies.com/blogs/Custom-Progressbar-and-ProgressDialog
Boite de dialogue personnalisée :
http://www.codexpedia.com/android/android-custom-dialog-example/
Débogage sous Android studio :
https://www.learnhowtoprogram.com/android/user-interface-basics-637d41b1-35dc-
400a-bcc3-65794760474d/debugging-breakpoints-and-the-android-debugger
Quelques liens utiles
© Dr. Chaouche A.-C.
18. Université Constantine 2 18
Android Developer, «Dialogs,». Lien : https://developer.android.com/
guide/topics/ui/dialogs.html.
Android Developer, «References - Android Plateform API 26 : AlertDialog,». Lien :
developer.android.com/reference/android/app/AlertDialog.html.
Android Developer, «References - Android Plateform API 26 : ProgressDialog,».
Lien : https://developer.android.com/reference/
android/app/ProgressDialog.html.
Android Developer, «References - Android Plateform API 26 : DatePickerDialog,».
Lien : https://developer.android.com/reference/
android/app/DatePickerDialog.html.
Android Developer, «References - Android Plateform API 26 : TimePickerDialog,».
Lien : https://developer.android.com/reference/
android/app/TimePickerDialog.html.
Android Developer, «Debug Your App,». Lien : developer.android.com/
studio/debug/index.html.
Références
© Dr. Chaouche A.-C.