Contenu de la formation
Introduction au développement Android
- Les fonctionnalités de la plateforme Android
- Architecture d'une application Android
- Installation de l'environnement de développement et du SDK Android
- Problématiques liées à la plateforme : diversité d'écrans, de marques, de surcouches, etc.
Exercice pratique: prise en main d'Eclipse avec le SDK Android et les outils tiers (émulateurs etc.)
La première application Android
- Création d’un projet Android, le code « minimal »
- Exécution de l’application sur l’émulateur
- Débogage
Exercice pratique: créer d'un premier projet, exécution et déploiement sur l'émulateur. Premier essai sur un téléphone physique
Composition d’une application Android
- Le fichier « Manifest »
- Les ressources
- Le code source
L’interface utilisateur Android
- Les fenêtres « Activity » (cycle de vie et comportement)
- Design des contrôles et positionnement.
- Adapateurs
- Les menus et les sous menus
- Relation entre les ressources et le code source (Layout, images, thèmes)
- Internationalisation d’une application
- Lancer des fenêtres (« Intent »)
Exercice pratique: création d'une application permettant d'afficher l'historique des appels avec possibilité de suppression d'entrées. Une IHM à plusieurs écrans sera demandé.
Communication inter applications Android
- Résolution des intents implicites
- Services : comportement et mise en place
- Broadcast receiver : utilisation et mise en place
Communiquer en réseau avec Android
- Faire des appels http
- Web Services (REST, XML)
- JSON
- Lier à des composants, des listes
- Implémenter les échanges réseau en multitâches
Stockage de données
- Stocker des fichiers sur le mobile
- Utiliser une base de données SQLite
- Transactions et SQLite ?
- Le système de fichiers
- Les préférences utilisateurs
- Transformer son application pour une utilisation Offline
- Le partage de données entre applications (« Content Provider »)
Exercice pratique: amélioration de l'application de gestion des contacts pour permettre la sauvegarde dans une base de données sur le téléphone et l'importation de nouveaux contacts via une API web.
Evolution des versions
- Nouveautés 2.x : App2SD, Meilleure gestion de la caméra, Bluetooth
- Nouveautés 3.x : Support pour tablettes tactiles
- Nouveautés 4.x
Tour d’horizon des nouveautés du SDK 3
- Fragments d’activités
- Utilisation des nouveaux composants graphiques
- Barre d’actions
- Barre système de notifications
Réseaux sociaux
- Communiquer avec Facebook
- Communiquer avec Twitter
- Communiquer avec Google+
Exercice pratique: partage d'informations sur les différents réseaux sociaux.
Mise en place du push
- Implémenter le push avant et après Froyo (version 2.2)
- Google App Engine et Android
Utilisation du GPS avec Android
- Location provider
- Se localiser
- Geocoding (reverse et forward)
- API Google Maps
Exercice pratique: ajout de position sur chacun des contacts et affichage sur une Google Maps de la position et de l'itinéraire par rapport à la position actuelle du téléphone.
Spécificité du développement mobile Android
- Accès aux informations des applications de base : no de tel, contacts..
- Utiliser les fonctions de téléphonie : faire un appel, lancer un sms
- Accéder à l'appareil photo, au Flash, l'API Media
- Jouer avec la sonnerie, le vibreur
- Styles et thèmes
Native Development Kit (NDK)
- Réutiliser vos programmes C et C++
- Lier votre application Java à des librairies C/C++
- Faire une application 100% C++
- Bonnes pratiques
Exercice pratique: le formateur fournira un programme de calcul en C/C++ qu'il faudra interroger depuis une interface graphique en Java.
Déploiement
- Processus de déploiement sur l'Android Market / Google Play
- Comment déployer son application sans passer par le Market
- Signer son application
- Publier sur l'Android market / Google Play
- Créez plusieurs APK pour différentes versions du SDK Android
- Statistiques Android Market / Google Play
Exercice pratique: déploiement de notre application sur l'Android Market et téléchargement sur les appareils des stagiaires. Démonstration des statistiques d'une application déployée par le formateur.