Formation Android – Formation complète

Des fondamentaux à l'autonomie et la performance, Architecture et Android 4

Durée 5 jours
ANDROID-COM-05

Contactez nous pour planifier
la prochaine session.

Description

Cette formation vous permettra de devenir un développeur – concepteur Android performantqui possède une très bonne compréhension des contraintes et des capacités du système. Vouscomprendrez comment développer une application évolutive et maintenable qui utilise avecefficacité les différents éléments du système Android.


Le module d’architecture vous permettra de mettre en place l’architecture d’une applicationAndroid, de comprendre ses contraintes, ses capacités, ses bonnes pratiques. Le module Android4 vous permettra d’aborder les développements pour la version 4 d’Android, en particulier lesFragments et les ActionBars. Vous saurez aussi mettre en place le multi-versionning au sein de vosapplications.


Cette formation est compatible de Froyo (Level 8) à Ice Cream Sandwich et HoneyComb (Level 11 à15). Toutes les explications sont compatibles avec ces différentes versions du système. Les travauxpratiques s’effectuent sous Gingerbread (Level 10).


Elle est présentée sur Android SDK 4.1.2 (Level 16) et le plugin ADT v 19 d’Eclipse.

Objectifs

  • Être autonome dans la programmation Android
  • Maitriser les éléments du système (Activité, Service, Content Provider,…)
  • Utiliser les composants graphiques pour mettre en place des IHMs attractives
  • Savoir communiquer entre les différentes briques applicatives
  • Savoir communiquer avec les API système
  • Savoir communiquer avec des serveurs http via des services REST ou le bus http
  • Avoir les bonnes pratiques de programmation Android (Architecture,…)
  • Architecturer une application Android adaptée aux multi-screens, aux multi-versionning et à la fragmentation
  • Connaitre les bonnes pratiques d’architecture du système pour obtenir des applications performantes, sensibles, fluides, sécurisées.
  • Utiliser les Fragments, les ActionBar, les Notifications ICS et JellyBean

Pré-requis : 

  • Comprendre le concept des langages orientés objet.
  • Connaître le langage JAVA.

Public : 

  • Développeur voulant concevoir et programmer des applications Android efficientes.

Pédagogie : 

60% théorie 40% pratique

Programme

Première partie : Activité

  • Android et le monde de l’IT
  • Qui est Android (Open Handset et versions du SDK)
  • Les chiffres principaux
  • La guerre des brevets
  • La programmation Android sous Eclipse
  • Mise en place de l’espace de travail
  • Le SDK Manager et l’AVD
  • Les différents wizards et outils Wysywyg
  • La perspective DDMS en détail
  • Utilisation du DebugMode et des trackers (Heap, Thread, Allocation, CPU)
  • Premiers pas
  • Règles de programmation Android
  • Vision globales des acteurs du système (Activity, Service, Intent, ContentProvider, BroadcastReceiver)
  • Structure d’un projet
  • Le fichier Manifest.xml
  • Le fichier des layouts, des strings
  • Code Java d’une activité et cycle de vie
  • Tester son développement
  • Eléments graphiques
  • Les éléments graphiques usuels (TextView, EditText, Button,…)
  • Les layouts (LinearLayout, RelativeLayout, TableLayout)
  • Les éléments graphiques complexes (ListView, SliddingDrawer, Gallery, GridView, Spinner, AutoCompleteText, ViewFlipper,)
  • Les fenêtres Dialog et Toast et customisation
  • Les menus contextuels et menus principaux
  • Gestions des activités
  • Cycle de vie des activités
  • Threads (Handler et AsyncTask)
  • Communication par Intents
  • Les ressources (String, Layout, Drawables, Xml, Raw, Dimensions, Couleur, Animations, Styles et thèmes)
  • Caractéristique de l’appareil et choix des ressources
  • Travaux pratiques
  • Mise en place de l'espace de travail.
  • Utilisation de la perspective DDMS
  • Mise en place d'une activité simple
  • Mise en place d'une activité complexe (avec thread, gestion des ressources, utilisation des styles,...)

Seconde partie : Autour de l’activité

  • Persistance des données
  • Gestion des préférences
  • Le système de fichier
  • Fichiers Xml
  • Utilisation des ContentProvider natif
  • Base de données locales SQLite
  • ContentProvider
  • Utilisation d’OrmLite
  • Services
  • Mise en place d’un service en mode start et en mode bound
  • La notification
  • Les permissions
  • Demande
  • Mise en place et sécurisation de son application
  • La classe Application
  • Travaux pratiques
  • Mise en place d'un ContentProvider lié à une base de données
  • Mise en place d'un service d'écoute de SMS.
  • Utilisation d'un ContentProvider natif (les Contacts)

Troisième partie : Autour de l’application

  • Communication avec un serveur web
  • via un web Service REST
  • via l'utilisation du bus HTTP
  • via la WebView
  • Quelques API du système
  • Les Capteurs
  • La géolocalisation et l’alerte de proximité
  • Le MapView
  • La gestion du Wifi
  • Packager l'application
  • Construire, signer et déployer son application
  • Bien écrire son fichier Manifest.xml
  • Un peu d’architecture
  • Quelques DesignPattern
  • Les bonnes pratiques
  • Gérer le multi-screens
  • Résoudre la fragmentation
  • Rapide présentation des nouveautés d’HoneyComb et d’IceCreamSandwich
  • Fragments
  • ActionBar
  • SocialAPI
  • CalendarApi
  • WifiDirect
  • Home screen Widget
  • GridLayout
  • Travaux pratiques
  • Mise en place d'une activité écoutant un web Service REST
  • Une activité basée sur la webView
  • Construire et Déployer son application

Architecture

  • Architecture notions élémentaires
  • Design Patterns
  • Architecture d’application Stand Alone
  • Architecture Android
  • Mettre en place une architecture pertinente
  • Design Applicatif
  • Le modèle N-tiers Android
  • Le modèle MVC Android
  • Lutter efficacement contre la fragmentation
  • La classe Application
  • Un service Android est-il un service ?
  • Les Threads et FeedBack
  • Les Threads et FeedBack
  • La gestion des exceptions
  • Protips Android
  • Les meilleurs ProTips des GoogleIO pour obtenir des applications d’excellence.
  • Gérer le multi-versionning
  • Étude de cas
  • Installation du projet
  • Explication de l’architecture (étude du dossier d’architecture)
  • Les mains dans le code
  • Mise en place d’évolutions
  • Travaux pratiques
  • Mise en place et étude des différents patterns au niveau de l’application

Android 4

  • Le Design guide
  • Rappel des règles d’ergonomie
  • Les fragments
  • Statique ou dynamique ?
  • La supportLibrairy
  • Cycle de vie d’un fragment
  • Gestion statique des fragments
  • Gestion dynamique des fragments
  • Fragments sans IHM
  • Fragment et BackStack
  • Fragment et barre d’action
  • Animations des transitions entre fragments
  • Communication pattern Fragment-Activity
  • Fragmentdialog, FragmentList,
  • L’actionBar
  • Comprendre ce que c’est.
  • Customiser l’actionBar (Icône, titre, background)
  • Splitter l’action bar
  • Utilisation des onglets de navigation (Navigations Tabs)
  • Les actions de la barre d’actions
  • Les menus et l’actionBar
  • ActionViews et ActionProvider
  • Notification
  • Enrichir les notifications
  • Mettre en place des notifications customisées