PLB CONSULTANT : 03. Kotlin, développer des applications pour Android
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. Auto-évaluation en début et en fin de formation.
Prix
Public
Développeurs, chefs de projet, architectes…
Pré-requis
Avoir des connaissances pratiques d'un langage de programmation ((Java, C#, C++, JavaScript, Python, etc.).
Objectifs pédagogiques
- Comprendre la syntaxe et les concepts de base du langage Kotlin
- Prendre en main l'environnement Android Studio
- Maîtriser le cycle de développement sur cette plateforme
- Pouvoir concevoir, réaliser et déployer une application Android
- Appréhender les APIs essentielles d'Android
- Développer des interfaces utilisateurs.
Programme détaillé
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.
Cycle de développement d'une application Kotlin
Les différences entre un projet Web et mobile
Vue d’ensemble du cycle de développement
Les outils disponibles (tests, debug, profiling)
Différences entre émulateurs et équipements physiques
Vérifier la conformité de son application (règles Google Play)
Délais d’examen selon la nature de l’application
Rapports de pré-lancement
Signature et déploiement d’une application Android
Travaux pratiques
Réalisation et déploiement d’une première application simple pour disposer d’une synthèse concrète.
Test de l’application avec Firebase (infrastructure de test d’application dans le Cloud)
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
Échanges 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
Implémentation 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)
Travaux pratiques
Réception de SMS en fonction de la localisation de l’équipement
Aspects avancés du langage Kotlin
Qu’est-ce 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
Passage de fonction en argument d’une méthode de tri (lambda)
Exercice de synthèse permettant de disposer d’une synthèse conceptuelle et syntaxique des éléments de ce module