Formation Google Développeur Androïd

Session de Formation Google Développeur Androïd

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

Pédagogie : 

50% Théorie, 50% Pratique

Public :

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

Pré-requis : 

Connaître le langage JAVA et la notion d’orienté objet.

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