Laboratoire 7 - Cégep de Sherbrooke

N'oubliez pas de tout mettre dans des strings et de faire la javadoc de tous les
exercices. ... Pour ce faire, vous devez mettre une listView dans votre fichier main
.xml et .... pour une meilleure réutilisation, comme le corrigé de l'examen swing.

Part of the document

Cégep de Sherbrooke Laboratoire 7 - Programmation Android Buts : . Concevoir des protypes pour des applications Android
. Se familiariser avec la création d'interface graphique sous Android Lecture et approfondissement. Vous devez faire les lectures des liens sur mon site ou autres liens que
vous trouverez pour être en mesure de bien comprendre les bases du XML et
d'android pour faire ce laboratoire. 1. Développement sous Android.
2. Programmation Android de la conception au déploiement (les chapitres 1 à
4)
Exercice 1 : Faites cette application qui envoie un mail
Avec un Linear Layout et en utilisant la propriété weight pour distribuer
les composantes, faites l'interface et faites fonctionner l'application
suivante : N'oubliez pas de tout mettre dans des strings et de faire la javadoc de
tous les exercices. Exercice 2 : ListeView et ArrayAdapter
Étape 1 : Avec un ListView, vous allez lister les jours de la semaine et
sur le clic de chaque journée, un toast apparaitra pour dire un message
propre à cette journée. Étape 2 : Vous allez complexifier l'affichage pour qu'une image à gauche de
votre journée soit affichée. Celle-ci doit représenter la journée. Pour ce faire, vous devez mettre une listView dans votre fichier main.xml
et créer un nouveau fichier row.xml qui contiendra l'image view et le text
view. Commencé par afficher la même image sur chacune des lignes.


Étape 3 : Pour changer l'image selon la ligne, vous aurez besoin de
plusieurs objets. Objet Journee. Vous aurez besoin de créer une classe journée le nom de la
journée, un int pour l'adresse de l'image et le message associée qui sera
affiché lors du clic de la ligne. Cette classe doit contenir un
constructeur et 3 getteurs, 3 setteurs. Pour facilité le lien avec le R,
mettez la propriété image en int et quand vous créer les journées, vous
faîtes comme suit ArrayList sem = new ArrayList() ;
sem.add(new Journee(«lundi», R.drawable.lundi, «Lundi, je fais du C++»);
sem.add(new Journee(«mardi», R.drawable.mardi, «J'aime les mardis»); Mais pour internationnaliser l'application, mettez les noms et les messages
dans des string et tout sera en int dans votre objet.
sem.add(new Journee(R.string.lundi, R.drawable.lundi,
R.string.messagelundi); Pour améliorer le code et faire une boucle pour ajouter les 7 jours, faîtes
des tableau d'int pour les adresse dans le R.drawable et R.string, ex : private static final int[] image = {R.drawable.dimanche,
R.drawable.happyface, R.drawable.happyface, R.drawable.happyface,
R.drawable.vendredi, R.drawable.vendredi, R.drawable.samedi};
private static final int[] nom = {R.string.lundi, R.string.mardi, ... ,
R.string.samedi};
Objets JourneeAdapter et JourneeWraper. Vous aurez besoin de créer une
classe ArrayAdapter qui utilise un wrapper pour formater la ligne, car
maintenant, ce n'est plus juste un ArrayAdapter de String, mais de Journee.
Vous setterez l'adapter de votre liste à cet objet. listJour.setAdapter(new
JourneeAdapter()); //Mettez ces 2 classes dans l'activité (avant la fermeture de la classe)
class JourneeAdapter extends ArrayAdapter {
JourneeAdapter() {
super(ListeJour.this, R.layout.row, R.id.textViewJour,
listeJournee);
}//ListeJour est l'activity principale et listeJournee mon
ArrayList de Journee public View getView(int position, View convertView, ViewGroup
parent) {
JourneeWrapper wrapper; if (convertView == null) {
convertView = getLayoutInflater().inflate(R.layout.row,
null);
wrapper = new JourneeWrapper(convertView);
convertView.setTag(wrapper);
} else
wrapper = (JourneeWrapper) convertView.getTag(); wrapper.setJournee(getItem(position)); return convertView;
}
}
class JourneeWrapper {
private TextView name = null;
private ImageView face = null;
private View row = null;
JourneeWrapper(View row) {
this.row = row;
}
public TextView getName() {
if (name == null) name = (TextView)
row.findViewById(R.id.textViewJour);
return name;
}
public ImageView getFace() {
if (face == null) face = (ImageView)
row.findViewById(R.id.imageViewJour);
return face;
}
public void setJournee(Journee j) {
getName().setText(j.getNom());
getFace().setImageResource(j.getImage());
}
} Exercice 3 : Programmer de l'application qui pratique les tables de
multiplications
Créer la vue suivante avec des tableLayout et rendez fonctionnelle
l'application des tables de multiplications. Les messages, bonnes réponses, mauvaises réponses et trop d'essais, on
passe à un autre seront affichés avec des toasts. N'oubliez pas qu'on a 3
essais manqués avant d'avoir une mauvaise réponse. Faites un Toast personnalisé pour afficher une image de bohomme sourir ou
triste en cas de bonne ou mauvaise réponse avec le message approprié et le
nombre d'essais restant. Sur le clic de vérifier et sur le enter dans l'EditText, vous vérifier la
réponse. L'Edit text permet d'entrer des nombres entiers uniquement. Faîtes des méthodes pour une meilleure réutilisation, comme le corrigé de
l'examen swing. Exercice 4 : Prototypage du Tic tac toe
Avec Pensil, faîtes les prototypes d'interface pour un tictactoe Android.
Voir l'exercice 5 pour y intégrer tout ce qui est demandés. Faîtes une
image de chacun de vos prototypes que vous mettrez dans retour avec la
nomentlature suivante : VotreNomTicTacToeXX.jpg (ou .png) où XX est le
numéro du prototype. Exercice 5 : Tic tac toe
Créer un tic tac toe sur Android qui comprendra . Une classe bouton sera crée pour une meilleure conception du code
. Un icône pour l'application (différent pour chaque résolution)
. Un espace dans la vue pour écrire les messages
(qui commence, c'est à qui le tour, le gagnant)
. Un affichage du gagnant dans la grille à la fin d'une partie
. Un bouton recommencer la partie qui apparait quand la partie est terminée
. Envoyer une notification pour annoncer qui a gagné
. Un menu qui contient ceci :
o Recommencer
o Préférences (permette de changer le symbole X et O pour autre
chose)
o À propos de (fait avec un dialog et non un toast avec un contenu de
qualité) Note : le menu préférence est un objet qui existe déjà et qui sera à
l'examen, faîtes le à partir de l'objet existant (extends
preferenceActivity) et vous économiserez bcp d'effort et vous aurez une
meilleure préparation pour l'examen.
Remise dans retour projet en zip et image de :
Exercice 1, 2 : vendredi 27 mars
Exercice 3, 4 : mardi 7 avril
Exercice 5 : mardi 14 avril