Android & Kotlin | Formation complète
- Objectifs pédagogiques
- Sections du cours
- Avis
Bienvenue dans la formation complète Android & Kotlin. Dans ce cours, vous allez apprendre à utiliser le langage Kotlin pour développer vos applications Android.
Que vous soyez débutant complet en programmation ou que vous êtes déjà intermédiaire, ce cours vous apprendra à réaliser des applications mobiles.
Pourquoi faire des applications Android en Kotlin ?
Google a annoncé en 2017 le support officiel de Kotlin sur Android. Java n’est plus le seul langage sur cette plateforme, vous pouvez maintenant écrire vos applications en utilisant Kotlin à 100% !
A la fin de ce cours, vous serez capable d’écrire des applications Android complexes, avec le support de l’affichage téléphone / tablette, le stockage de vos informations en base de données et des requêtes HTTP pour rendre votre application connectée.
Si vous avez envie de devenir un développeur mobile, Android est aujourd’hui l’OS le plus répandu sur les téléphones des utilisateurs. Il représente 85% de tout le marché. Si vous avez une idée d’application en tête, il y a 9 chances sur 10 pour que vos utilisateurs soient sur Android.
Structure du cours
Je pense que pour apprendre et maîtriser une nouvelle compétence, il faut la pratiquer. C’est pour cela que nous allons réaliser ensemble 2 projets d’applications complètes (Notes et Météo) avec toutes les explications théoriques qui vont autour.
Dans cette optique, j’ai structuré le cours de la manière suivante :
- Section(s) consacrée au langage Kotlin ;
- Section(s) consacrée à Android ;
- Projet d’application qui intègre toutes les notions précédemment abordées.
Nous allons répéter ce schéma, en augmentant progressivement la difficulté.
Projets d’applications
Les 2 projets que nous réaliserons sont de difficulté croissante, le premier étant l’application Note qui a les fonctionnalité suivantes :
- Afficher de notes dans une liste dynamique ;
- Éditer des notes dans un écran dédié ;
- Stocker les notes en fichier pour avoir de la persistance.
L’application suivante, Météo, est plus complexe car elle intègre plus de fonctionnalités :
- Récupérer des données météos depuis Internet avec le service OpenWeatherMap ;
- Supporter l’affichage sur téléphone et tablette ;
- Stocker les informations de villes en base de données.
Kotlin
Pour développer ces projets, nous devons apprendre à programmer en Kotlin ! Voici les grands thèmes que nous allons aborder pour découvrir le langage :
- Les types de variables et les déclarations ;
- Le contrôle de flux : if / else, for, while ;
- Définir et appeler des fonctions ;
- Créer des classes avec de l’héritage, des interfaces et des génériques.
Une fois que les bases auront été posées, nous passerons à des notions plus avancées comme :
- Le late init et le lazy init ;
- Les Data Class, Sealed Class, Enum Class ;
- Les high order functions et les lambdas ;
- Les fonctions d’extensions personnalisées et proposée par Kotlin (let, apply, use, etc.).
Android
Une fois que le langage est maîtrisé, nous basculons sur Android, à la découverte complète de cet OS :
- Définition d’un écran avec une Activity et un Layout ;
- Communication d’informations entre les écrans avec un Intent ;
- Afficher des listes d’éléments ;
- Afficher des Dialogs.
Après cela, on passe à la vitesse supérieur avec des fonctionnalités qui se trouveront dans la majorité de vos applications :
- Supporter l’affichage multi-device (téléphone / tablette) avec les Fragments ;
- Stocker des informations en base de données SQLite ;
- Faire des requêtes réseau avec la bibliothèque Retrofit ;
- Gérer les permissions de l’applications.
Bonus
Parce-qu’il n’y a pas que le code qui compte pour développer une application, nous allons également regarder des sujets qui sont autour du code :
- Installation de l’environnement de développement sur Windows, macOS, Linux ;
- Tour des fonctionnalités d’Android Studio pour se familiariser avec l’interface ;
- Comment débugger une application pour détecter les erreurs ;
- Explication de la procédure à suivre pour déployer votre application sur le Google Play Store
Un dernier mot
J’ai créé ce cours avec l’envie de partager ma passion pour le langage Kotlin et vous montrer à quel point cette nouvelle technologie fonctionne bien avec Android.
J’espère vous retrouver dans cette formation et échanger avec vous dans la section Questions / Réponses. Je suis très présent dans cette partie, qui est sans doute ma préféré : discuter avec vous de techno !
A très vite !
-
4Installation Android Studio sur WindowsLeçon vidéo
-
5Installation Android Studio sur Mac OSLeçon vidéo
-
6Installation Android Studio sur LinuxLeçon vidéo
-
7Créer le premier projet Hello WorldLeçon vidéo
-
8Découvrir Android StudioLeçon vidéo
-
9Préparation d'un émulateur AndroidLeçon vidéo
Sur Windows, lors du lancement de l'émulateur, si vous avez l'erreur suivante "Emulator: Process finished with exit code 0", vous devez peut-être mettre à jour l'outil Intel® Hardware Accelerated Execution Manager (Intel® HAXM).
Voici le lien de téléchargement : https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm
Merci à Arnaud S. de m'avoir signaler le problème et la la résolution qu'il a trouvé.
-
10Préparation d'un téléphone AndroidLeçon vidéo
-
11Définir une variableLeçon vidéo
-
12Les stringsLeçon vidéo
-
13Contrôle du flux : if, elseLeçon vidéo
-
14Contrôle du flux : whenLeçon vidéo
-
15Mutabilité et nullabilitéLeçon vidéo
-
16Variables, mutabilité, if / whenQuiz
-
17Les fonctionsLeçon vidéo
-
18Les tableauxLeçon vidéo
-
19Contrôle du flux : boucle forLeçon vidéo
-
20Contrôle de flux : boucle whileLeçon vidéo
-
21Les packagesLeçon vidéo
-
22tableaux, fonctions, forQuiz
-
23Explication POOLeçon vidéo
-
24Le constructeur de classeLeçon vidéo
-
25HéritageLeçon vidéo
-
26PolymorphismeLeçon vidéo
-
27POO et héritageQuiz
-
28EncapsulationLeçon vidéo
-
29Classe abstraiteLeçon vidéo
-
30InterfaceLeçon vidéo
-
31Cast et vérification de typeLeçon vidéo
-
32Data classLeçon vidéo
-
33Nested classLeçon vidéo
-
34Inner classLeçon vidéo
-
35Encapsulation et types de classesQuiz
-
36Les Generics 1/2Leçon vidéo
-
37Les Generics 2/2Leçon vidéo
-
38Les variables lateinitLeçon vidéo
-
39Companion ObjectLeçon vidéo
-
40Cohabitation avec JavaLeçon vidéo
-
41Generics, late init et companion objectQuiz
-
42Anatomie d'un projet AndroidLeçon vidéo
-
43Activity 1/2Leçon vidéo
-
44Android évolue, les changementsLeçon vidéo
Voici les changements d'Android que vous pourrez rencontrer :
Dans une Activity / Fragment : findViewById(id) as Button ==> findViewById<Button>(id)
Pour la Toolbar, dans un fichier XML : ?attr/actionBarSize ==> ?android:attr/actionBarSize
Dans le build.gradle : compile ==> implementation
Migration des bibliothèques vers AndroidX : https://developer.android.com/jetpack/androidx/migrate/artifact-mappings
Si vous en repérez d'autres, faites moi signe !
-
45Migrer sur AndroidXLeçon vidéo
-
46Activity 2/2Leçon vidéo
-
47LogsLeçon vidéo
-
48IntentLeçon vidéo
-
49ParcelableLeçon vidéo
-
50Activity, log et IntentQuiz
-
51Les dimensions sur AndroidLeçon vidéo
-
52Les layouts pratiques 1/2Leçon vidéo
-
53Les layouts pratiques 2/2Leçon vidéo
-
54Les composants UI de baseLeçon vidéo
-
55Dialog 1/2Leçon vidéo
-
56Dialog 2/2Leçon vidéo
-
57OptionMenuLeçon vidéo
-
58Thème d'applicationLeçon vidéo
-
59ToolbarLeçon vidéo
-
60RecyclerView 1/2Leçon vidéo
-
61RecyclerView 2/2Leçon vidéo
-
62Dimensions, layouts et RecyclerViewQuiz
-
63Gradle et les fichiers APKLeçon vidéo
-
67ArchitectureLeçon vidéo
-
68Démarrer le projet NotepadLeçon vidéo
-
69Classe modèle NoteLeçon vidéo
-
70Item de la liste NoteLeçon vidéo
-
71RecyclerView 1/2Leçon vidéo
-
72RecyclerView 2/2Leçon vidéo
-
73Afficher le détail d'une noteLeçon vidéo
-
74Toolbar de l'applicationLeçon vidéo
-
75OptionMenu de la liste des notesLeçon vidéo
-
76Editer une noteLeçon vidéo
-
77Créer une nouvelle noteLeçon vidéo
-
78Supprimer une note 1/2Leçon vidéo
-
79Supprimer une note 2/2Leçon vidéo
-
80Sauvegarder une note en fichierLeçon vidéo
-
81Charger les notes à partir de fichiersLeçon vidéo
-
82Snackbar de suppressionLeçon vidéo