0% ont trouvé ce document utile (0 vote)
80 vues10 pages

Table-Des-Matieres Flutter

Ce document est un guide sur le développement d'applications mobiles multiplateformes avec Flutter et Dart. Il couvre des sujets tels que l'installation de l'environnement de développement, la création de projets, et les fondamentaux du langage Dart. Le contenu est structuré en chapitres détaillant les étapes nécessaires pour développer des applications efficaces.

Transféré par

marinnette11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
80 vues10 pages

Table-Des-Matieres Flutter

Ce document est un guide sur le développement d'applications mobiles multiplateformes avec Flutter et Dart. Il couvre des sujets tels que l'installation de l'environnement de développement, la création de projets, et les fondamentaux du langage Dart. Le contenu est structuré en chapitres détaillant les étapes nécessaires pour développer des applications efficaces.

Transféré par

marinnette11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Table des matières 1

Les éléments à télécharger sont disponibles à l'adresse suivante :


[Link]
Saisissez la référence ENI de l'ouvrage EIFLUT dans la zone de recherche
et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Avant-propos
1. Pourquoi cet ouvrage ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1 Comment faire son choix ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Et dans l’univers du développement mobile ? . . . . . . . . . . . . . . 13
2. À qui s’adresse cet ouvrage ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. Structure de l’ouvrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapitre 1
Introduction
1. État des lieux du développement mobile . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Un marché en progression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Application Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 iOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Le multiplateforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2. Flutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Historique et versions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Dart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Développement cross-platform . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Le hot reload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Organisation par widgets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 Flutter
Développez vos applications mobiles multiplateformes avec Dart

Chapitre 2
Installation de l’environnement
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2. Installation de Flutter sur Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1 Compatibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Téléchargement du SDK Flutter . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Installation du SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3. Installation de Flutter sur macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1 Compatibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Téléchargement du SDK Flutter . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Installation du SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 Mojave (et les versions précédentes) . . . . . . . . . . . . . . . . . 35
3.3.2 Catalina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Installation de cocoapods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Installation de Xcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4. Installation de Flutter sur Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1 Compatibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Téléchargement du SDK Flutter . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Installation du SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5. Mise à jour du SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1 Connaître la version de Flutter installée . . . . . . . . . . . . . . . . . . . 48
5.2 Être au courant des nouveautés et des mises à jour . . . . . . . . . . 49
5.3 Faire la mise à jour du SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6. Installation d’Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2 Pourquoi choisir Android Studio ? . . . . . . . . . . . . . . . . . . . . . . . 50
6.3 Installation d’Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.4 Installation des plug-ins Flutter et Dart . . . . . . . . . . . . . . . . . . . 53
7. Flutter Doctor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 Analyse de Flutter Doctor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table des matières 3

7.3 Corrections et validations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56


7.3.1 Licence Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.3.2 Plug-ins et autres IDE (Visual Studio Code ou IntelliJ) . . 57
7.3.3 Émulateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Chapitre 3
Ma première application
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2. Création d’un nouveau projet Flutter . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.1 Choix du type de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.2 Configuration de l’application. . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3. Le contenu de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1 L’architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2 Le code de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4. Les émulateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.2 Paramétrage de l’émulateur Android. . . . . . . . . . . . . . . . . . . . . . 75
4.3 Lancement de la première application. . . . . . . . . . . . . . . . . . . . . 83
5. Premiers widgets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Chapitre 4
Dart, les fondamentaux
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2. Syntaxe de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.1.1 Les nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.1.2 Les chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.1.3 Les booléens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
2.1.4 Types dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
2.2 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4 Flutter
Développez vos applications mobiles multiplateformes avec Dart

2.3 Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


2.3.1 Listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.3.2 Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.4 Alternatives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2.4.1 If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2.4.2 Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.4.3 Opérateur ternaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.4.4 Opérateur de nullité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.5 Boucles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
2.5.1 For . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
2.5.2 Foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.5.3 While . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.5.4 Do While . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Chapitre 5
Dart, notions avancées
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
2. Fonctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.2 Fonction simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.3 Fonctions avec retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
2.4 Fonctions avec paramètres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2.4.1 Forme classique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2.4.2 Paramètres optionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
2.5 Fonctions anonymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
2.6 Fonctions fléchées ou fonctions lambda . . . . . . . . . . . . . . . . . . 119
3. Programmation orientée objet (POO). . . . . . . . . . . . . . . . . . . . . . . . 120
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.2 Classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.3 Attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
3.4 Constructeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.5 Instanciation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table des matières 5

3.6 Accesseurs et mutateurs (getters et setters) . . . . . . . . . . . . . . . 126


3.7 Association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.8 Héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
3.9 Surcharge de méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.10 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
3.11 Mixin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.12 Extension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
3.13 Static . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4. Généricité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5. Exception. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.1 Exceptions systèmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.2 Exceptions personnalisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.3 Exceptions multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6. Traitement asynchrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Chapitre 6
Les widgets de base
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2. Material Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
2.1 Scaffold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
2.1.1 AppBar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
2.2 floatingActionButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
2.3 FloatingActionButtonLocation . . . . . . . . . . . . . . . . . . . . . . . . . 168
2.4 bottomNavigationBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
2.4.1 BottomAppBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
2.4.2 BottomNavigationBar . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
2.5 Drawer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
3. Cupertino (Style iOS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3.1 Scaffold de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
3.2 Scaffold avec barre de navigation . . . . . . . . . . . . . . . . . . . . . . . 180
3.3 CupertinoNavigationBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6 Flutter
Développez vos applications mobiles multiplateformes avec Dart

4. Détection de la plateforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185


5. Boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.1 FloatingActionButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.2 RaisedButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.3 FlatButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.4 IconButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.5 OutlineButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
5.6 CupertinoButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
6. Médias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
6.1 Icônes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
6.1.1 Icons (Material Design) . . . . . . . . . . . . . . . . . . . . . . . . . . 210
6.1.2 CupertinoIcons (Style iOS) . . . . . . . . . . . . . . . . . . . . . . . 212
6.1.3 FontAwesome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.2 Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.2.1 Images du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.2.2 Images du Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
6.3 Texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
6.3.1 Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
6.3.2 Mise en forme du texte . . . . . . . . . . . . . . . . . . . . . . . . . . 223
6.3.3 Choix de la police . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
6.3.4 Google Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
6.4 Layouts (mise en page). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
6.4.1 Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
6.4.2 Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
6.4.3 Row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
6.4.4 Expanded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
6.4.5 Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
6.4.6 Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
6.4.7 Divider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
6.4.8 Stepper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Table des matières 7

Chapitre 7
Les états
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
2. StatelessWidget. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
3. StatefulWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
3.1 Cycle de vie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
4. Couplage interface et logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
4.1 Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
4.2 BloC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

Chapitre 8
Pop-up et navigation
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
2. SnackBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
3. AlertDialog et CupertinoAlertDialog . . . . . . . . . . . . . . . . . . . . . . . . 285
3.1 AlertDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
3.2 CupertinoAlertDialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
4. SimpleDialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
4.1 SimpleDialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
4.2 CupertinoDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
5. Feuilles de choix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5.1 BottomSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5.2 CupertinoActionSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
6. Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
6.1 [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
6.2 [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
6.3 [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
8 Flutter
Développez vos applications mobiles multiplateformes avec Dart

Chapitre 9
Formulaires
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
2. Les champs de saisie de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
2.1 TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
2.2 CupertinoTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
2.3 Types de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
2.3.1 Mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
2.3.2 Autres données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
2.4 TextEditingController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
3. Dates et heures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
3.1 Material Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
3.1.1 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
3.1.2 Heure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3.2 Cupertino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
3.2.1 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
3.2.2 Heure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
4. Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
4.1 Material Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
4.2 Cupertino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
5. Radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
6. Checkbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
7. Slider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
7.1 Material Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
7.2 Cupertino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Table des matières 9

Chapitre 10
Listes et grilles
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
2. ListView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
2.1 [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
2.2 Dismissible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
2.3 ListTile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
2.4 [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
2.5 Personnalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
2.5.1 Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
2.5.2 Inkwell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
3. GridView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
3.1 [Link] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
3.2 GridTileBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
3.3 Personnalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

Chapitre 11
API
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
2. Appareil photo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
2.1 Installation du package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
2.2 Mise à jour des permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
2.3 Le code du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
2.4 Rendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
2.5 Vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
3. GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
3.1 Installation du package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
3.2 Mises à jour des permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
3.3 Le code du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
3.4 Rendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
4. Autres API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
10 Flutter
Développez vos applications mobiles multiplateformes avec Dart

Chapitre 12
Données
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
2. Shared Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
2.2 Récupération des dépendances . . . . . . . . . . . . . . . . . . . . . . . . . 412
2.3 Création de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
2.3.1 Classe Personne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
2.3.2 [Link]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
2.4 Rendu de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
3. SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
3.2 Récupération des dépendances . . . . . . . . . . . . . . . . . . . . . . . . . 426
3.3 Création de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
3.3.1 Classe Personne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
3.3.2 Classe PersonneProvider. . . . . . . . . . . . . . . . . . . . . . . . . . 428
3.3.3 [Link]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
3.4 Rendu de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
4. JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
4.2 Récupération des dépendances . . . . . . . . . . . . . . . . . . . . . . . . . 448
4.3 Création de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
4.3.1 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
4.3.2 L’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
4.4 Rendu de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

Vous aimerez peut-être aussi