Kotlin
Développer des applications mobiles pour Android en Kotlin
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.)
A 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
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
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
Travaux pratiques
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