'( )* $ %& !"#
Ecole Supérieure de Management,
23 +/01/ . +!-"#
d’Informatique et de Télécommunication Privée SUPMTI
Contrôle Continu- Année universitaire 2015-2016
FILIERE MATIERE PRFESSEUR
5
ième
ISI
Programmation Android !ordine "IDA!E
DATE DUREE D#UME!TS
NOM ET PRENOM :…………………………………………………………………… :……………………………………………………………………… … ……….../20 Barème :2pts/question
25/05/2016 1heure !on autori$%$
NOTE :
1. Quel est le cycle de vie d'une d'une Activity Activity au regard regard des des diférentes diférentes méthodes méthodes que le système Android Android appelle de manière manière séquentielle lorsqu'elle est lancée, puis qu’elle est arrêtée on!reate"# $ on%tart"# $ on&esume"# puis onause"# $ on%top"# $ on(estroy"# on!reate"# $ on&esume"# $ on%tart"# puis on%top"# $ onause"# $ on(estroy"# on!reate"# $ on%tart"# puis onause"# $ on(estroy"# Aucune des autres réponses ). Quelle est la méthode qu'il *aut surcharger surcharger pour mettre mettre en place le layout d'un d'un +ragment on!reate"undle# on!reate-ie"/ayout0nater, -ie2roup, undle# onActivity!reated"undle# Aucune des autres réponses 3. Que se passe4t4il lorsqu’une lorsqu’une Activity Activity est réglée dans le mani*est mani*est avec avec l’option android5con6g!hanges789 android5con6g!hanges789ey:oard;idd ey:oard;iddenposée de la classe Activity n’est appelée %eule la méthode Activity.on!on6guration!hanged"!on6guration# est appelée /es méthodes Activity.on!on6guration!hanged"!on6guration# puis Activity.on&esume"# sont appelées Aucune des autres réponses ?. @st4il possi:le de créer créer des +ragments 6ls d’un +ragment +ragment ui, c’est possi:le, mais uniquement depuis Android v?.) "A0 level 1B# ui, c’est possi:le C partir d’Android v?.) "A0 level 1B#, mais également en utilisant la :i:liothèque %upport /i:rary Android v13 qui rend cette *onctionnalité disponi:le sous Android v3.1D ui, c’est possi:le, mais uniquement en utilisant la la :i:liothèque %upport /i:rary Android v13 sous Android v3.1D Eon, ce n’est pas possi:le, et les architectes d’Android re*usent de le mettre en place car cela compliquerait énormément le cycle de vie des +ragments F. G quoi sert la méthode méthode +ragment.se +ragment.set&eta t&etain0nstance"# in0nstance"# G retenir l’état d’un +ragment pour que ce dernier soit appliqué lors du lancement d’un prochaine instance de +ragment appartenant C la même classe G *aire en sorte que l’instance du +ragment qui a appelé cette méthode ne soit pas recrée lorsque l’Activity qui hé:erge le +ragment est détruite suite C un appel C Activity.6nish"#, a6n d’être réutilisée lors de la création d’un prochain +ragment appartenant C la même classe
Ecole Supérieure de Management, d’Informatique et de Télécommunication Privée SUPMTI
'( )* $ %& !"# 23 +/01/ . +!-"#
G *aire en sorte que l’instance du +ragment qui a appelé cette méthode ne soit pas recrée lorsque l’Activity qui hé:erge le +ragment est détruite puis recréée suite C un changement de con6guration "méthode Activity.on!on6guration!hanged"# appelée, sans avoir dé6ni d’attri:ut 8android5con6g!hanges8 au niveau de l’Activity dans le 6chier AndroidHani*est.>ml# G empêcher que l’instance de +ragment qui a appelé cette méthode soit détruite une *ois la méthode +ragment.on(estroy"# appelée
I. /ors d’une phase de rendu graphique d’une -ie Android, quelle la séquence des appels nota:les qui sont réalisés par le système Android -ie.onHeasure"int, int# $ -ie.on/ayout":oolean, int, int, int, int# -ie.on-alidated"# $ -ie.on/ayout":oolean, int, int, int, int# $ -ie. onHeasure"int, int# -ie.on-alidated"# $ -ie. onHeasure"int, int# $ -ie. on/ayout":oolean, int, int, int, int# Aucune des autres réponses B. %i Je décide de créer une classe qui dérive de -ie, et de gérer moi4même le rendu graphique de cette vue sur l’o:Jet !anvas, sans que J’ai C intervenir sur son positionnement C l’écran ni sur sa taille, que dois4Je *aire %implement surcharger la méthode -ie.dra"# %urcharger la méthode -ie.dra"# mais également la méhode -ie.on/ayout":oolean, int, int, int, int# Aucune des autres réponses %urcharger la méthode -ie.on(ra"# K. Quels sont les élements d’un layout LH/ Android qui permettent d’optimiser le temps de rendu graphique, mais également de pouvoir réutiliser au ma>imum d’autres layouts /es éléments LH/ include, merge et optimi=e /es éléments LH/ include, merge /es éléments LH/ optimi=e, merge et -ie%tu: /es éléments LH/ include, merge et -ie%tu: M. our mettre en Nuvre un idget sur l’écran home du terminal "un AppOidget#, que *aut4il *aire (ériver de la classe OidgetActivity et appeler la méthode Activity.set!ontent-ie"int# pour positionner le layout du idget (ériver de la classe AppOidgetrovider et surcharger la méthode AppOidgetrovider.onPpdate"!onte>t, AppOidgetHanager, intR# (ériver de la classe &emote-ies et surcharger la méthode &emote-ies.on(ra"# Aucune des autres réponses 1S.@st4il possi:le de rendre un idget Android AppOidget désactiva:le Eon ui, en dé6nisant l’attri:ut LH/ android5ena:led7T*alseT ui, en utilisant la solution de la réponse , mais on peut également le *aire programmaticalement via la méthode ac9ageHanager.set!omponent@na:led%etting"# Aucune des autres réponses