Cette séquence traite des fragments qui sont des morceaux de vue dynamiques. L'animation de ces fragments sera aussi abordée.
Cette séquence traite d'un concept particulier d'Android: les Widgets. Ces derniers seront expliqués au travers d'un exemple utilisant les notifications.
Cette séquence traite du framework de communication entre applications. La réception d'évènements systèmes (tels que SMS, baterie faible, etc.) est aussi abordée.
Cette séquence traite des vues sous formes de listes qui sont très utilisées dans les interfaces mobiles.
Cette séquence propose un exercice qui manipule les fragments dont vous trouverez le texte détaillé dans le pdf téléchargeable via le cartouche.
Cette séquence traite des services qui permettent de déléguer des traitements tels que la lecture de fichiers musicaux ou la lecture de flux RSS.
Cette séquence traite de la persistence sous Android. Celle-ci est très importante puisque mise en oeuvre a chaque rotation. La gestion des préférences pour une application est aussi abordée.
Cette séquence propose un comparatif entre les concepts communs a Android et iOS et ceux qui diffèrent.
Cette séquence présente un projet permettant d'expérimenter tous les concepts vus en cours. Le sujet de ce projet est accessible via le cartouche de cette page.
Cette séquence traite des différents menus disponibles sous Android.
Cette séquence propose un exercice qui manipule les fragements dynamiquement.
Cette séquence propose d'aborder les activités au travers d'un exemple. La définition des layout dans le pattern M-V-C ainsi que la notion de hiérarchie des vues et la modification de l'AndroidManifeest.xml y sont aussi abordés
Cette séquence fait une présentation rapide d'Android et des mécanismes sous jacents tels que la machine virtuelle Dalvik utilisé ou l'environnement de développement.
Cette séquence présente l'application «FullActivities» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux». L'application est un gestionnaire simplifié de tâches. Il permet de créer des tâches et de leur associer un titre, une photo et une priorité. Vous devez bien sûr réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Vous pouvez, si vous le souhaitez, supporter les orientations standard des types de terminaux qui peuvent l'exécuter.
Cette séquence présente l'application «Métro Châtelet direction Cassiopée» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux». L'application est composée de deux hiérarchies de vues présentées au moyen d'un «TabBar». La première permet de positionner des préférences et la seconde, de naviguer dans une liste de stations spatiales en fonction de ces préférences. Vous devez bien sûr réaliser cette application sans utiliser StoryBoard ou ARC et la faire tourner à la fois sur simulateur et sur un terminal. Vous vous inspirerez des vidéos capturant le comportement détaillé de l'application que nous donnons dans cette page. Vous pouvez, si vous le souhaitez, supporter les orientations standard des types de terminaux qui peuvent l'exécuter.
Cette séquence présente l'application «TBExemple» permettant d'illustrer la gestion simultanée de vues au moyen d'un UITabBarController.
Cette séquence présente la gestion simultanée de plusieurs hiérarchies de vues au moyen d'un UITabBarController.
Cette séquence expose en détail la mécanique de navigation au sein d'une pile de vues qui est proposé par les UINavigationController.
Cette séquence présente une nouvelle extension de l'exemple «TabAvecVue» permettant d'illustrer à la fois l'édition des cellules et la navigation dans une pile de vues au moyen d'un UINavigationController. Important : Suite à une fausse manipulation, le transparent avec le code décrivant l'empilement d'une vue sur la piel des vue (via le UINavigationController) a malencontreusement été effacée, ce que je n'ai réalisé que pendant le cours. Vous trouverez dans le cartouche un accès à ce transparent manquant.
Cette séquence expose en détail la mécanique intégrée au UITableViewDelegate permettant de gérer l'édition d'une UITableView.
Cette séquence présente une extension de l'application «TabAvecVue» permettant d'illustrer la particularisation d'un élément d'une UITableView.
Cette séquence présente une application simple: «TabAvecVue» . Elle illustre l'utilisation du mécanisme des UITableView.
Cette séquence expose en détail le mécanisme optimisé de gestion des cellules d'une UITableView , tant pour la consommation de mémoire que l'économie du processeur.
Cette séquence présente les principes de base du système d'affichage de données strucrées: UITableView/UITableViewController. Ce mécanisme permet d'afficher les données sous forme d'une table que l'on peut faire défiler. Il est donc utile pour visualiser un grand nombre de valeurs sous la forme d'une table.
Cette séquence présente une évolution de «Sélecteur» illustrant l'usage d'un UIDatePicker.
Cette séquence présente les UIDatePicker, qui offrent un mécanisme intégré de sélection d'une date au moyen d'un «picker» dédié. La gestion des dates au moyen des NSDate est également brièvement abordé.
Cette séquence présente «Sélecteur», une application simple permettant d'illustrer l'usage d'une UIPickerView.
Cette séquence présente les UIPickerView et le protocole UIPickerViewDelegate qui leur est associé. ce mécanisme permet de sélectionner une valeur dans un ensemble de valeurs, éventuellement structurées.
Cette séquence présente un exemple simple illustrant la gestion du clavier au moyen d'une UITextView et de son protocole associé UITextViewDelegate. En conclusion, une référence rapide est faite aux UITextField/UITextFieldDelegate qui fonctionnent de manière identique mais sont dédiées aux zones de texte limitées à une ligne.
Cette séquence présente les UITextView et le protocole UITextViewDelegate qui leur est associé. Cela permet de gérer des zone de texte potentiellement éditable (avec gestion intégrée du clavier)