Você está na página 1de 2

Ecole Suprieure de Management,

dInformatique et de Tlcommunication Prive SUPMTI

Contrle Continu- Anne universitaire 2015-2016


FILIERE
MATIERE
PROFESSEUR

5ime ISI
Programmation Android
Nordine ZIDANE

DATE
DUREE
DOCUMENTS

NOM ET PRENOM :
.../20
Barme :2pts/question

25/05/2016
1heure
Non autoriss
NOTE :

1. Quel est le cycle de vie d'une Activity au regard des diffrentes mthodes que le
systme Android appelle de manire squentielle lorsqu'elle est lance, puis quelle est
arrte ?
onCreate() > onStart() > onResume() puis onPause() > onStop() > onDestroy()
onCreate() > onResume() > onStart() puis onStop() > onPause() > onDestroy()
onCreate() > onStart() puis onPause() > onDestroy()
Aucune des autres rponses
2. Quelle est la mthode qu'il faut surcharger pour mettre en place le layout d'un
Fragment ?
onCreate(Bundle)
onCreateView(LayoutInflater, ViewGroup, Bundle)
onActivityCreated(Bundle)
Aucune des autres rponses
3. Que se passe-t-il lorsquune Activity est rgle dans le manifest avec loption
android:configChanges="keyboardHidden|orientation|screenSize" et que lutilisateur
change lorientation de lcran ?
Aucune mthode expose de la classe Activity nest appele
Seule la mthode Activity.onConfigurationChanged(Configuration) est appele
Les mthodes Activity.onConfigurationChanged(Configuration) puis Activity.onResume() sont
appeles
Aucune des autres rponses
4. Est-il possible de crer des Fragments fils dun Fragment ?
Oui, cest possible, mais uniquement depuis Android v4.2 (API level 17)
Oui, cest possible partir dAndroid v4.2 (API level 17), mais galement en utilisant la
bibliothque Support Library Android v13 qui rend cette fonctionnalit disponible sous Android
v3.1+
Oui, cest possible, mais uniquement en utilisant la la bibliothque Support Library Android
v13 sous Android v3.1+
Non, ce nest pas possible, et les architectes dAndroid refusent de le mettre en place car
cela compliquerait normment le cycle de vie des Fragments
5. A quoi sert la mthode Fragment.setRetainInstance() ?
A retenir ltat dun Fragment pour que ce dernier soit appliqu lors du lancement dun
prochaine instance de Fragment appartenant la mme classe
A faire en sorte que linstance du Fragment qui a appel cette mthode ne soit pas recre
lorsque lActivity qui hberge le Fragment est dtruite suite un appel Activity.finish(), afin
dtre rutilise lors de la cration dun prochain Fragment appartenant la mme classe

Ecole Suprieure de Management,


dInformatique et de Tlcommunication Prive SUPMTI

A faire en sorte que linstance du Fragment qui a appel cette mthode ne soit pas recre
lorsque lActivity qui hberge le Fragment est dtruite puis recre suite un changement de
configuration (mthode Activity.onConfigurationChanged() appele, sans avoir dfini dattribut
"android:configChanges" au niveau de lActivity dans le fichier AndroidManifest.xml)
A empcher que linstance de Fragment qui a appel cette mthode soit dtruite une fois la
mthode Fragment.onDestroy() appele
6. Lors dune phase de rendu graphique dune View Android, quelle la squence des
appels notables qui sont raliss par le systme Android ?
View.onMeasure(int, int) > View.onLayout(boolean, int, int, int, int)
View.onValidated() > View.onLayout(boolean, int, int, int, int) > View. onMeasure(int, int)
View.onValidated() > View. onMeasure(int, int) > View. onLayout(boolean, int, int, int, int)
Aucune des autres rponses
7. Si je dcide de crer une classe qui drive de View, et de grer moi-mme le rendu
graphique de cette vue sur lobjet Canvas, sans que jai intervenir sur son
positionnement lcran ni sur sa taille, que dois-je faire ?
Simplement surcharger la mthode View.draw()
Surcharger la mthode View.draw() mais galement la mhode View.onLayout(boolean, int,
int, int, int)
Aucune des autres rponses
Surcharger la mthode View.onDraw()
8. Quels sont les lements dun layout XML Android qui permettent doptimiser le temps
de rendu graphique, mais galement de pouvoir rutiliser au maximum dautres
layouts ?
Les lments XML include, merge et optimize
Les lments XML include, merge
Les lments XML optimize, merge et ViewStub
Les lments XML include, merge et ViewStub
9. Pour mettre en uvre un widget sur lcran home du terminal (un AppWidget), que
faut-il faire ?
Driver de la classe WidgetActivity et appeler la mthode Activity.setContentView(int) pour
positionner le layout du widget
Driver de la classe AppWidgetProvider et surcharger la mthode
AppWidgetProvider.onUpdate(Context, AppWidgetManager, int[])
Driver de la classe RemoteViews et surcharger la mthode RemoteViews.onDraw()
Aucune des autres rponses
10.Est-il possible de rendre un widget Android AppWidget dsactivable ?
Non
Oui, en dfinisant lattribut XML android:enabled=false
Oui, en utilisant la solution de la rponse B, mais on peut galement le faire
programmaticalement via la mthode PackageManager.setComponentEnabledSetting()
Aucune des autres rponses