Vous aborderez dans ce cours les aspects avancés du développement d’applications Android portant sur la conception d’IHM ou l’utilisation de capteurs. Vous apprendrez à contrôler les fonctionnalités avancées d’Android Studio (Build Gradle, test) et à utiliser les librairies et services tiers utiles au développement.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • Découvrir les outils de développement liés à Android Studio
  • Appréhender le développement des fonctionnalités avancées liées aux IHM, capteurs, services et threads
  • Intégrer des librairies tierces à un projet Android
  • Mettre au point, tester et optimiser une application Android

Travaux pratiques

Les travaux pratiques seront réalisés en Java.
PROGRAMME DE FORMATION

Introduction

  • Rappels des principes de base Android. Présentation du développement natif avec NDK. JNI.
  • Présentation des fonctionnalités avancés Android Studio (Instant Run, debug, profiling…).
  • Apports du dernier SDK. Les permissions à la demande.

Outils avancés de développement

  • Paramétrer le build avec Gradle. Comprendre les Build Variants.
  • Améliorer son code source avec Lint.
  • Mettre au point et profiler/monitorer une application.
  • Optimisation de l’APK avec ProGuard.

Travaux pratiques
Utilisation des différents outils.

Création d’IHM avancées

  • Construction d’IHM avancées suivant les préconisations Material Design. Utilisation des styles.
  • Mécanismes des widgets.
  • Présentation OpenGL/ES.

Travaux pratiques
Réalisation d’une activité complexe avec des fragments. Réalisation d’une application graphique.

Utilisation des capteurs

  • Mise en œuvre de capteurs. Accéléromètre, proximité, température, luminosité, baromètre, GPS…
  • Paramétrage dans le simulateur des capteurs.
  • Utilisation d’outils pour la simulation d’événements.

Travaux pratiques
Réalisation d’une application intégrant différents capteurs.

ContentProvider et Services

  • Créer un ContentProvider. Cycle de vie des services. Arrière-plan et premier plan. Lier services et activités.
  • Utiliser des threads depuis un service. Utiliser des Intents. Définir des alarmes.

Travaux pratiques
Réalisation d’un service et contrôle depuis une activité.

Tester une application Android

  • Présentation des outils adaptés aux différents types de tests. Rappels sur JUnit.
  • Simulation d’interactions utilisateur avec Espresso.
  • Paramétrage d’Android Studio pour les tests. Utilisation de Cloud Test Lab.
  • Présentation de Firebase Test Lab for Android.

Travaux pratiques
Mise en œuvre de tests avec Espresso.

Librairies et services utiles pour le développement Android

  • Utiliser les Google Play Services.
  • Intégrer des bibliothèques tierces à un projet Android.
  • Simplifier l’accès à des ressources REST avec Retrofit.
  • Maîtriser le chargement des images avec Picasso.
  • L’injection de dépendances (Dagger).

Travaux pratiques
Sélection et mise en place de librairies.