SlideShare a Scribd company logo
1 of 18
1
Les fragments
Présenté par :
Zoghlami Ala eddine
2
Plan
 Introduction
 Utilité
 Cycle de vie
 Compatibilité
 Gestion de fragments
 Composants à base de fragments
 Conclusion
3
Introduction
C'est quoi un fragment ?
Fragment
Vue Activité
4
Utilité
Application basée sur les
fragments
Smartphone
Tablette
TV
5
Utilité
6
Cycle de Vie
7
Cycle de vie
 Le cycle de vie d'un fragment est étroitement lié à l'activité à
laquelle il est rattaché
 Par exemple si une activité reçoit enPause() chaque fragment
associés reçoit aussi enPause
 Il existe d'autres méthodes « callback » pour le fragment telles
que :

OnAttach() : Appelée quand le fragment est attaché à une activité

OncreateView : Appelée pour créer une vue associé au fragment

OnActivityCreated() : Appelée quand la méthode onCreate()
est retourné

OnDetach() : Appelée quand le fragment est détaché
8
Compatibilité
 Les Fragments sont introduits depuis la version 3.0 ( API 11)
 les version inférieures tel que 2.3 ne sont pas supportées

La solution est d'utiliser la bibliothèque de compatibilité
« Appcompat »

Notre classe fragment étendra donc
android.support.v4.app.Fragment
9
Gestion des fragments
fragmentManager
 Pour gérer les fragments , on a eu recourt au gestionnaire de
fragment « FragmentManager »
 Pour récupérer le fragment manager on appele la methode
getFragmentManager()
 Si on a un deuxième niveau de fragment ( Fragment dans un
autre) on utilise getChildFragmentManager()
 Si on est entrain d'utiliser la bibliothèque appcompat on utilise
getSupportFragmentManager
10
Gestion des fragments
BackStack
 La pile de retour « BackStack » est un composant qui permet de
simuler la fonction de retour connue dans les Activités pour les
fragment
 Pour ajouter un fragment à la « BackStack » il suffit d'ajouter
.addToBackstack() lors de la Transaction
11
Gestion des fragments
Transaction
 Une transaction est le faite d'ajouter, remplacer ou supprimer un
fragment existant
On peut spécifier des animation lors de la Transaction avec
setCustomAnimations(int enter, int exit)
Remplacer le fragment
courant par
newFragment dans
fragment_container
Le fragment est ajouté
à la backStack
12
Composants à base de Fragments
ViewPager
 Un viewPager est un widget qui présente des vue ou on peut
naviguer avec le « swipe »
 Un viewPager utilise un « Adapter » qu'on doit implémenté à part
et qui fait appel à nos fragments
 On peut associer des « Tabs » à notre viewPager ceci
augmentera l’expérience utilisateur , car deux possibilités de
navigation sont offertes
13
Composants à base de Fragments
ViewPager + tabs
Active la mode
Navigation Tabs
Ajout des Tabs
14
Composants à base de Fragments
ViewPager + tabs
 Pour assurer le bon fonctionnement de ce widget on doit faire de
sorte que le ViewPager contrôle les tabs et vice versa
 Dans notre Adapter :
15
Composants à base de Fragments
ViewPager + Indicator
 Pour améliorer votre viewPager , utilisez un indicateur
 Il existe une Bibliothèque « viewPagerIndicator » développé par
« Jake Wharton » qui vous permet d'ajouter un indicateur
facilement il suffit de :

Ajouter la bibliothèque à votre projet

Déclarer le composant dans votre fichier xml

Associer l'indicateur au viewPager
16
Netographie
 http://developer.android.com/guide/components/fragments
 http://fr.openclassrooms.com/informatique/cours/aller-plus-loin-
dans-le-developpement-android/fragment
 https://github.com/JakeWharton/Android-ViewPagerIndicator
17
Conclusion
 L'utilisation des fragments est fortement recommandé de nos
jours, à fin d'éviter les problèmes des différents tailles d'affichage
et d'augmenter l’expérience utilisateur
18
Merci pour votre Attention !

More Related Content

Viewers also liked

Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
In01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesIn01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesYann Caron
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidHoussem Lahiani
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à androidLilia Sfaxi
 
Elaboration des budgets au sein de marjane fès agdal
Elaboration des budgets au sein de marjane fès agdalElaboration des budgets au sein de marjane fès agdal
Elaboration des budgets au sein de marjane fès agdalMiriam drissi kaitouni
 
Développement Android
Développement AndroidDéveloppement Android
Développement AndroidFranck SIMON
 
engagement Label eTIC SEO
engagement Label eTIC SEOengagement Label eTIC SEO
engagement Label eTIC SEORetis be
 
Enseignement quizz conjugaison
Enseignement quizz conjugaisonEnseignement quizz conjugaison
Enseignement quizz conjugaisonMSblog
 

Viewers also liked (14)

Framework php « Codeignitor »
Framework php « Codeignitor » Framework php « Codeignitor »
Framework php « Codeignitor »
 
Bonnes pratiques développement android
Bonnes pratiques développement androidBonnes pratiques développement android
Bonnes pratiques développement android
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
In01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancéesIn01 - Programmation Android - 07 - techniques avancées
In01 - Programmation Android - 07 - techniques avancées
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Push Notification
Push Notification Push Notification
Push Notification
 
Elaboration des budgets au sein de marjane fès agdal
Elaboration des budgets au sein de marjane fès agdalElaboration des budgets au sein de marjane fès agdal
Elaboration des budgets au sein de marjane fès agdal
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
engagement Label eTIC SEO
engagement Label eTIC SEOengagement Label eTIC SEO
engagement Label eTIC SEO
 
Enseignement quizz conjugaison
Enseignement quizz conjugaisonEnseignement quizz conjugaison
Enseignement quizz conjugaison
 
Android cours
Android coursAndroid cours
Android cours
 
Plan (réparé)
Plan (réparé)Plan (réparé)
Plan (réparé)
 

Similar to Les Fragments

Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menusLilia Sfaxi
 
Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mathias Seguy
 
Comment trouver et fixer des memory leaks dans une app Vue/Nuxt
Comment trouver et fixer des memory leaks dans une app Vue/NuxtComment trouver et fixer des memory leaks dans une app Vue/Nuxt
Comment trouver et fixer des memory leaks dans une app Vue/NuxtJonathanMartin201
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_threadSaber LAJILI
 
Chapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfChapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfBoubakerMedanas
 
Chapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfChapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfBoubakerMedanas
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_threadSaber LAJILI
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Jean-Michel Doudoux
 
Aspnetcore introduction
Aspnetcore introductionAspnetcore introduction
Aspnetcore introductionMichel Bruchet
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidHoussem Lahiani
 
Le Guide de Développement pour Android
Le Guide de Développement pour AndroidLe Guide de Développement pour Android
Le Guide de Développement pour AndroidSimon Debaecke
 

Similar to Les Fragments (20)

Android2017 cours2
Android2017 cours2Android2017 cours2
Android2017 cours2
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Présentation OSGI
Présentation OSGIPrésentation OSGI
Présentation OSGI
 
Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.Mise en place de l'ActionBarCompat dans vos projets Android.
Mise en place de l'ActionBarCompat dans vos projets Android.
 
react-fr.pdf
react-fr.pdfreact-fr.pdf
react-fr.pdf
 
Comment trouver et fixer des memory leaks dans une app Vue/Nuxt
Comment trouver et fixer des memory leaks dans une app Vue/NuxtComment trouver et fixer des memory leaks dans une app Vue/Nuxt
Comment trouver et fixer des memory leaks dans une app Vue/Nuxt
 
Cours 2 les composants
Cours 2 les composantsCours 2 les composants
Cours 2 les composants
 
Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
 
Rapport tp3 j2ee
Rapport tp3 j2eeRapport tp3 j2ee
Rapport tp3 j2ee
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_thread
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Chapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfChapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdf
 
Chapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdfChapitre 1-Composants et Modules.pdf
Chapitre 1-Composants et Modules.pdf
 
4 asynch task_services_thread
4 asynch task_services_thread4 asynch task_services_thread
4 asynch task_services_thread
 
5.ateliers avancés
5.ateliers avancés5.ateliers avancés
5.ateliers avancés
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017
 
TP_1.pdf
TP_1.pdfTP_1.pdf
TP_1.pdf
 
Aspnetcore introduction
Aspnetcore introductionAspnetcore introduction
Aspnetcore introduction
 
Cycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'AndroidCycle de vie d'activité Android et les composant d'Android
Cycle de vie d'activité Android et les composant d'Android
 
Le Guide de Développement pour Android
Le Guide de Développement pour AndroidLe Guide de Développement pour Android
Le Guide de Développement pour Android
 

More from ODC Orange Developer Center (20)

Countly
CountlyCountly
Countly
 
Owasp
OwaspOwasp
Owasp
 
Sencha Touch
Sencha TouchSencha Touch
Sencha Touch
 
Personnalisation bouton et animations Android
Personnalisation bouton et animations AndroidPersonnalisation bouton et animations Android
Personnalisation bouton et animations Android
 
Android Device Monitor
Android Device MonitorAndroid Device Monitor
Android Device Monitor
 
Monkey & Monkey Runner
Monkey & Monkey RunnerMonkey & Monkey Runner
Monkey & Monkey Runner
 
Itinéraire sur Google Maps
Itinéraire sur Google MapsItinéraire sur Google Maps
Itinéraire sur Google Maps
 
Partage sur les réseaux sociaux
Partage sur les réseaux sociauxPartage sur les réseaux sociaux
Partage sur les réseaux sociaux
 
Shared Preferences
Shared PreferencesShared Preferences
Shared Preferences
 
Action Bar - AB & ActionBarSherlock - ABS
Action Bar - AB & ActionBarSherlock - ABSAction Bar - AB & ActionBarSherlock - ABS
Action Bar - AB & ActionBarSherlock - ABS
 
Upload - Download
Upload - DownloadUpload - Download
Upload - Download
 
Upload - Download
Upload - DownloadUpload - Download
Upload - Download
 
Sensors
SensorsSensors
Sensors
 
J Unit
J UnitJ Unit
J Unit
 
Business Plan d’une application mobile
Business Plan d’une application mobileBusiness Plan d’une application mobile
Business Plan d’une application mobile
 
UX guidelines
UX guidelinesUX guidelines
UX guidelines
 
Push notification
Push notificationPush notification
Push notification
 
Acra
AcraAcra
Acra
 
NFC
NFCNFC
NFC
 
Silverlight
SilverlightSilverlight
Silverlight
 

Les Fragments

  • 1. 1 Les fragments Présenté par : Zoghlami Ala eddine
  • 2. 2 Plan  Introduction  Utilité  Cycle de vie  Compatibilité  Gestion de fragments  Composants à base de fragments  Conclusion
  • 3. 3 Introduction C'est quoi un fragment ? Fragment Vue Activité
  • 4. 4 Utilité Application basée sur les fragments Smartphone Tablette TV
  • 7. 7 Cycle de vie  Le cycle de vie d'un fragment est étroitement lié à l'activité à laquelle il est rattaché  Par exemple si une activité reçoit enPause() chaque fragment associés reçoit aussi enPause  Il existe d'autres méthodes « callback » pour le fragment telles que :  OnAttach() : Appelée quand le fragment est attaché à une activité  OncreateView : Appelée pour créer une vue associé au fragment  OnActivityCreated() : Appelée quand la méthode onCreate() est retourné  OnDetach() : Appelée quand le fragment est détaché
  • 8. 8 Compatibilité  Les Fragments sont introduits depuis la version 3.0 ( API 11)  les version inférieures tel que 2.3 ne sont pas supportées  La solution est d'utiliser la bibliothèque de compatibilité « Appcompat »  Notre classe fragment étendra donc android.support.v4.app.Fragment
  • 9. 9 Gestion des fragments fragmentManager  Pour gérer les fragments , on a eu recourt au gestionnaire de fragment « FragmentManager »  Pour récupérer le fragment manager on appele la methode getFragmentManager()  Si on a un deuxième niveau de fragment ( Fragment dans un autre) on utilise getChildFragmentManager()  Si on est entrain d'utiliser la bibliothèque appcompat on utilise getSupportFragmentManager
  • 10. 10 Gestion des fragments BackStack  La pile de retour « BackStack » est un composant qui permet de simuler la fonction de retour connue dans les Activités pour les fragment  Pour ajouter un fragment à la « BackStack » il suffit d'ajouter .addToBackstack() lors de la Transaction
  • 11. 11 Gestion des fragments Transaction  Une transaction est le faite d'ajouter, remplacer ou supprimer un fragment existant On peut spécifier des animation lors de la Transaction avec setCustomAnimations(int enter, int exit) Remplacer le fragment courant par newFragment dans fragment_container Le fragment est ajouté à la backStack
  • 12. 12 Composants à base de Fragments ViewPager  Un viewPager est un widget qui présente des vue ou on peut naviguer avec le « swipe »  Un viewPager utilise un « Adapter » qu'on doit implémenté à part et qui fait appel à nos fragments  On peut associer des « Tabs » à notre viewPager ceci augmentera l’expérience utilisateur , car deux possibilités de navigation sont offertes
  • 13. 13 Composants à base de Fragments ViewPager + tabs Active la mode Navigation Tabs Ajout des Tabs
  • 14. 14 Composants à base de Fragments ViewPager + tabs  Pour assurer le bon fonctionnement de ce widget on doit faire de sorte que le ViewPager contrôle les tabs et vice versa  Dans notre Adapter :
  • 15. 15 Composants à base de Fragments ViewPager + Indicator  Pour améliorer votre viewPager , utilisez un indicateur  Il existe une Bibliothèque « viewPagerIndicator » développé par « Jake Wharton » qui vous permet d'ajouter un indicateur facilement il suffit de :  Ajouter la bibliothèque à votre projet  Déclarer le composant dans votre fichier xml  Associer l'indicateur au viewPager
  • 17. 17 Conclusion  L'utilisation des fragments est fortement recommandé de nos jours, à fin d'éviter les problèmes des différents tailles d'affichage et d'augmenter l’expérience utilisateur
  • 18. 18 Merci pour votre Attention !