Découvrir la plateforme Android
- Les utilisations de la plateforme Android.
- Le modèle Android et son architecture.
- Présentation du système d'exploitation (fonctionnalité, version, outils, etc).
- Les applications clés pour l'utilisation d'un terminal.
- Les outils de développement, l'environnement de développement : Android Studio, SDK Android.
- La mise en œuvre du SDK Android.
- Les terminaux cibles (Smartphones, tablettes, assistants de navigation personnels, virtuels, etc).
- L'internationalisation des applications Android.
- Android et Linux.
Travaux pratiques
Mise en place d'un environnement de développement avec Android Studio et le SDK Android.
Développement Android
- Les concepts de base d'une application Android.
- Le cycle de vie de l'application (de l'édition du programme au test).
- Présentation du framework de développement, des librairies.
- Présentation des classes de base et utilitaires.
- Création de son premier projet : code, ressource, propriété et détail du projet.
- Exécuter son application sur le simulateur du SDK et la tester.
- Le SDK Manager et la configuration des terminaux virtuels Android (AVD) : target, SDCard...
- Utilisation d'un débogueur pour contrôler l'exécution des programmes.
- Comment accéder aux logs de l'application ?
- L'identification de l'application et le fichier manifest (version, minSDK, nom de l'application...).
- La mise à disposition de son application.
Travaux pratiques
Développement d'une première application suivant le cycle de réalisation étudié.
Les interfaces utilisateurs avec Android
- Vue d'ensemble du layout et de la place du composant.
- Les spécificités des terminaux mobiles en matière d'affichage et d'interaction avec l'utilisateur.
- Les composants graphiques : layouts, menus, listes...
- Créer une interface graphique avec les views.
- La mise en place de menus (principal, icône, sous-menu...).
- La mise en place des conteneurs layouts (Gallery, GridView, ScrollView...).
- La gestion événementielle (mise en place, réaction, écoute).
- Styles et thèmes appliqués aux widgets.
- Notification de l'utilisateur (barre de notification, toast, boîtes de dialogue).
- Ressources alternatives : multidevices, localisation.
Travaux pratiques
Réalisation d'une application avec interface graphique.
Le modèle de composants
- Le concept de base : activité et cycle de vie.
- Les composants fondamentaux : Activity, Service, BroadcastReceiver, ContentProvider, Intents.
- L'arrêt des composants (finish, stopSelf...).
- Les activités (cycle de vie, navigation entre les activités, communication interactivités...).
- Les services (cycle de vie, tâches de fond...). Les types de services (locaux et distants).
- Les différences entre une activité et un service.
- Le lancement d'une activité, ses principaux états.
- Le langage AIDL (Android Interface Description Language). Le bus de messages et les Intents.
Travaux pratiques
Transmission d'informations d'une Activity à une autre à l'aide du mécanisme d'Intents.
La persistance des données
- Comment partager des données entre les applications ?
- La sauvegarde de données simple.
- Utilisation des préférences (SharedPreferences, le mode de lecture). Récupération d'un ensemble de préférences.
- Utilisation du système de fichiers (dont XML).
- L'emplacement des fichiers contenant les données (zone internal/external).
- Utilisation de la base de données embarquée (SQLite), insertion de données.
- Utilisation de l'API Android.
Travaux pratiques
Mise en œuvre de fonctionnalités de stockage sur un terminal avec une base de données.
La gestion réseau
- Rappels sur la programmation réseau.
- Communication avec une Socket serveur.
- Utiliser HTTP avec les API Android.
- Introduction à la consommation des services Web.
- Parser du JSON avec la librairie Gson pour Android.
Travaux pratiques
Echange de données.
Compléments
- Gestion de la téléphonie. Appels. Gestion des SMS. Interactions avec la carte SIM.
- Multimédia. Dessin et animations. Lecture audio et vidéo.
- La capture multimédia (son, image, vidéo...).
- Les API de géolocalisation avec Google Maps.
- Configurer l'émulateur pour tester la géolocalisation.
Travaux pratiques
Réalisation d'une application géolocalisée présentée à l'aide de Google Maps.