![](/wp-content/uploads/2020/10/component.png)
![](https://gate-training.com/wp-content/uploads/2021/02/kotlin.png)
Kotlin
1 MoisFormation Kotlin
Description de la formation Kotlin
- Jetbrains, l’éditeur qui a conçu le langage Kotlin cherchait à apporter tous les avantages d’un langage moderne (flexibilité, richesse, concision, efficacité, robustesse, etc.) tout en restant interopérable avec les standards incontournables comme Java et Javascript (à partir d’un programme Kotlin on peut générer un bytecode Java ou un code source en Javascript).
- Bien entendu un projet Android peut inclure à la fois des fichiers Java et Kotlin (supporté officiellement par Google depuis 2017). Cette interoperabilité et le fait que Kotlin supporte toutes les versions d’Android (donc des équipements anciens également) vont favoriser son adoption progressive un peu comme Swift l’a été au détriment d’Objective-C qui n’était pas particulièrement conçu à l’origine, comme Java, spécifiquement pour le développement mobile.Cependant il faut préciser que Kotlin ne se limite pas au développement mobile et se présente comme un concurrent plus général de Java.
- Cette formation Kotlin vous apprendra à développer avec Kotlin sous Android Studio dans le cadre du développement mobile pour les plateformes Android.
Objectifs
Concrètement cette formation Kotlin vous apportera les connaissances et compétences nécessaires pour:
- Savoir développer avec le langage Kotlin
- Créer des interface utilisateurs
- Utiliser les fragments et les activités dans vos interfaces en maîtrisant leurs cycles de vie
- Manipuler les données (chargement, affichage, échanges, web services, …)
- Utiliser les fonctions d’une tablette ou d’un mobile (téléphonie, SMS, géolocalisation, etc.)
- Perfectionner votre maîtrise du langage Kotlin (expression lambda, collections, exceptions, annotations, etc.)
À qui s’adresse cette formation ?
Public :
Ce cours s’adresse aux développeurs et aux chefs de projets.
Prérequis :
Il est nécessaire de connaître les bases d’au moins un langage de programmation objet (Java, C#, C++, etc.).
Contenu du cours Kotlin
Premiers pas avec Kotlin
- Pourquoi un nouveau langage pour Android ?
- Principales différences avec Java
- Syntaxe de base (types, variables, tests, boucles, packages, fonctions)
- Classes et variantes (nested, enum, data)
- Programmer objet en Kotlin (interfaces, héritage, polymorphisme, etc.)
- Délégation
- Les génériques
- L’environnement de développement Android Studio
- Maîtriser le SDK (émulateur, outils, manager, etc.)
Travaux pratiques
- Tour d’horizon de la philosophie et syntaxe fondamentale de Kotlin à travers un premier exemple simple et complet d’affichage de texte.
Interfaces utilisateurs
- Les View (TextViews, EditText, Buttons, etc.)
- Les Layouts (Linear, Relative, Constrainte)
- Interaction avec les vues
- Les listeners
- Les notifications (toast, AlertDialog, Snackbar)
- Librairies, support/androidX
- Les événements
Travaux pratiques
Création d’une « coquille vide » avec une interface design et agréable pour l’utilisateur
Activités et Fragments
- Philosophie et liens entre activités et fragments
- La classe Activity : cycle de vie et état
- Intents implicites
- Les Fragments, cycle de vie (onAttach, onCreate, etc.)
Travaux pratiques
- Mise en œuvre d’une application avec plusieurs fragments et une seule activité.
- Navigation entre les fragments (NavigationDrawer).
Chargement et affichage de données
- Récupération de données via une API (utilisation de Retrofit2)
- Présentation des solutions (Room, ORMLite, ActiveAndroid, GreenDao,…)
- SQLite
- Découverte des libs Google Architecture Component (Room Persistence Library)
- Les SharedPreference (clé/valeur)
- Stockage interne et externe
- Les permissions (déplacé ici)
- L’affichage avec ListView, GridView, RecyclerView, etc.
Travaux pratiques
- Communication avec une API et stockage de données reçues à l’aide de celle-ci
Echanges de données
- Partager des données entre les applications (ContentProvider)
- Envoyer et recevoir des événements via les BroadcastReceiver
- Manipuler des flux JSON en Kotlin
- Implementation de Services
- Consommation de web service
Travaux pratiques
- Faire communiquer deux applications et partager des données entre celles-ci
Echanges de données
- Partager des données entre les applications (ContentProvider)
- Envoyer et recevoir des événements via les BroadcastReceiver
- Manipuler des flux JSON en Kotlin
- Implementation de Services
- Consommation de web service
Travaux pratiques
- Faire communiquer deux applications et partager des données entre celles-ci
Aller plus loin…
- La téléphonie et les SMS
- Les capteurs
- La géolocalisation (API Google, etc.)
- Les tâches asynchrones
- Versionning via Android Studio
- Firebase (NoSQL)
- Publication d’une app sur le store
Aspects avancés du langage Kotlin
- Qu’est qu’une expression lambda ?
- Lambda expression et fonctions anonymes
- Améliorer les performances avec les fonctions inline
- Les collections/ranges
- Variantes sur les opérateurs
- Les exceptions
- Les annotations
- La réflexion
- Le type safe builders
- Le type Aliases
Travaux Pratiques
Les travaux pratiques représentent 60% de la formation.