Université de Pau et des Pays de l’Adour Master 2 Technologies de l’Internet
TP - Android
Youssef RIDENE
Trace et Log
Pour tracer votre code, utilisez la vue Eclipse Logcat. Il faudra par la suite Utiliser la Classe Log pour afficher
des messages dans cette vue. Pour plus d’informations : http ://developer.android.com/reference/android/util/Log.html
Exercice 1 : HelloWorld
Développer une application qui affiche HelloWorld.
1. Modifier la police du texte
2. Centrer le texte
3. Modifier la couleur de fond
4. Ajouter une image au dessus du texte
5. Ajouter une zone de texte qui décrit l’image
Votre application doit fonctionner correctement en mode paysage.
Exercice 2 : Shared Preferences
Nous allons reprendre l’exercice 1 et utiliser les SharedPreferences (http ://developer.android.com/reference/android/content/SharedPreferences.html)
pour afficher un message uniquement lors de la première utilisation. Inspirez vous du code donné en Annexe.
Exercice 3 : Convertisseur
L’application contient 2 tabulations. La première pour une conversion Celsius Fahrenheit et la deuxième
pour une conversion Km Miles. Chaque tabulation contient les éléments suivants
Un titre
2 boutons radio (C F) et (F C) pour la première tabulation et (Km Miles) et (Miles Km) pour
la deuxième.
Une zone de texte pour saisir la valeur à convertir
Un bouton pour calculer la valeur
Une TextView pour afficher le résultat
La touche retour permet de quitter l’application. Ajouter une AlertDialog pour confirmer le choix de l’utili-
sateur (cf. annexe).
Exercice 4 : Lecteur multimédia basique
L’application contient :
3 boutons radio avec 3 titres différents
Un bouton Play pour jouer la piste sélectionnée
Un bouton Stop
Un bouton Help qui affiche une Alert avec votre nom et des informations sur l’application
Un bouton About qui affiche dans une nouvelle fenetre des informations sur le chanteur (la piste...)
1
Université de Pau et des Pays de l’Adour Master 2 Technologies de l’Internet
Exercice 5 : Handler, gestion des langues et menu
Reprendre l’application de l’exercice 2 pour la modifier et avoir les écrans suivants : Splash Screen (3s)
Choisir la langue (fr/en) Convertisseur
En appuyant sur le bouton « Menu » du simulateur, 2 icones apparaissent :
Icône About : affiche une nouvelle Activity en expliquant l’application et les formules utilisées...
Icône Support : affiche une alerte avec votre nom, email cliquable et votre numero de téléphone (En
cliquant dessus, on pourra vous appeler directement).
Exercice 6 : Google Maps
Faire le tutrial disponible à cette adresse : http ://mobiforge.com/developing/story/using-google-maps-
android
Annexe
//SharedPreferences
S h a r e d P r e f e r e n c e s p r e f s ;
/r e t u r n s tr ue , i f t h i s i s th e f i r s t run /
p u b l i c b ool ea n g etF ir st Run ( ) {
return mPrefs . getBool ea n (" i s F i r s t " , t r u e ) ;
}
/s t o r e the f i r s t run /
p u b l i c v oi d setRunned ( ) {
S h a r e d P r e f e r e n c e s . E d it o r e d i t = p r e f s . e d i t ( ) ;
e d i t . putBoolean ( " i s F i r s t " , f a l s e ) ;
e d i t . commit ( ) ;
}
/s e t t i n g up p r e f e r e n c e s s t o r a g e /
p u bl i c vo id f i r s t R u n P r e f e r e n c e s ( ) {
Context mContext = t h i s . g et Appl ic at ionC on te xt ( ) ;
p r e f s = mContext . g e t S h a r e d P r e f e r e n c e s ( " myAppPrefs " , 0 ) ; //0 = mode p r i v a t e . o n ly t h i s app can r ea d t h e s e p r e f e r e n c e s
}
// C on tr o le r l a touche Back pour ne pas s o r t i r de l a p p l i c a t i o n
/Avant l a v e r s i o n 2 .0 /
@Override
p u b l i c b oo l ea n onKeyDown ( i n t keyCode , KeyEvent e ve nt ) {
i f ( keyCode == KeyEvent .KEYCODE_BACK && ev en t . getRepeatCount ( ) == 0) {
// do something on back .
return t r u e ;
}
return supe r . onKeyDown( keyCode , ev ent ) ;
}
2
Université de Pau et des Pays de l’Adour Master 2 Technologies de l’Internet
/Depuis l a v e r s i o n 2 .0 /
@Override
p u b l i c v oi d on Bac kPres sed ( ) {
// do something on back .
return ;
}
//La to uch e Back pemrmettra de q u i t t e r l a p p l i c a t i o n :
I n t e n t i n t e n t = new I n t e n t ( ) ;
i n t e n t . s e t C l a s s (A. t h i s , B. c l a s s ) ;
s t a r t A c t i v i t y ( i n t e n t ) ;
f i n i s h ( ) ;
//La to uch e Back per me tt ra de r e v e n i r à A:
I n t e n t ma in In te nt = new I n t e n t (A . t h i s , B. c l a s s ) ;
s t a r t A c t i v i t y ( mai nIntent ) ;
// Alert
A l e r t D i a l o g . B u i l d e r d l g A l e r t = new A l e r t D i a l o g . B u i l d e r ( t h i s ) ;
d l g A l e r t . s etM es sa ge ( g e tR es o ur c es ( ) . g e t S t r i n g (R. s t r i n g . t i t l e ) ) ;
d l g A l e r t . s e t T i t l e ( g e tR e so ur c es ( ) . g e t S t r i n g (R. s t r i n g . i n f o ) ) ;
// Media p l a y e r
MediaPlayer mp = MediaPlayer . c r e a t e ( Audio . t h i s , R . raw . p i s t e 1 ) ;
mp. s t a r t ( ) ;
mp. stop ( ) ;
// S p l a s h s c r e e n
new Handler ( ) . postDela yed ( new Runnable ( ) {
@Override
p u b l i c v oi d run ( ) {
I n t e n t ma in In te nt = new I n t e n t ( S pl a sh . t h i s , Dest . c l a s s ) ;
Spla sh . t h i s . s t a r t A c t i v i t y ( mainIn ten t ) ;
Spla sh . t h i s . f i n i s h ( ) ;
}
} , SPLASH_DISPLAY_LENGTH) ;
//Menu
p u b l i c b oo l ea n onCreateOptionsMenu ( Menu menu ) {
su pe r . onCreateOptionsMenu (menu ) ;
MenuItem item = menu . add (" About " ) ;
it em . s e t I c o n (R. dr awable . about ) ;
item . s e t I n t e n t ( new I nt e nt (A. th i s , B. c l a s s ) ) ;
item = menu . add (" S e t t i n g s " ) ;
it em . s e t I c o n (R. dr awable . s e t t i n g s ) ;
item . s e t I n t e n t ( new I nt e nt (A. th i s , C. c l a s s ) ) ;
return t r u e ;
}
3
Université de Pau et des Pays de l’Adour Master 2 Technologies de l’Internet
p u b l i c b oo l ea n o n Op ti on sI te m Se l ec te d ( MenuItem item ) {
i f ( item . hasSubMenu ( ) == f a l s e ) {
I n t en t i = it em . g e t I n t e n t ( ) ;
startActivity(i );
}
return t r u e ;
}
4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !