Programmation sur plateforme mobile : application à iOS et Android (2103/2014, HD)

Fabrice Kordon

About

Cette série de 7 cours est consacrée à la programmation sur plateformes mobiles. Elle se focalise principalement sur iOS et montre également la correspondance des principes vus pour iOS sur Android. Des étudiants de M2 constituent le public visé par ces cours. On considère qu'ils sont déjà compétent en programmation et qu'ils ont des notions sur l'utilisation de langages objets, de langages procéduraux, ainsi que des principes de base en système d'exploitation (interruptions, notion d'événement, etc.).
Les cours abordent successivement les principaux mécanismes offerts par iOS pour le développement d'applications embarquées sur des terminaux mobiles de type «smartphone»: l'environnement de développement, la notion de vue, les principaux frameworks, etc. Un parallèle avec la problématique du développement de systèmes embarqués est également fait.
Android est abordé la dernière semaine par rapport à iOS sachant que les concepts sont extrêmement voisins. Le cours explique comment sont mise en oeuvre les notions dans le contexte de cet environnement précis.
À l'issue de ces cours, les étudiants sont autonomes et capables de naviguer non seulement dans l'environnement de développement d'Apple, mais aussi dans des environnements similaires. Nous considérons cette année, les version les plus récentes des OS évoqués: iOS 7 et Android 4.1 (Jelly Bean).
Un site compagnon avec des ressources permettant de s'exercer est disponible ici: http://lip6.fr/Fabrice.Kordon/NI438-2013.

Available on

Community

124 episodes

Cours N°7.05 Les Fragments

Cette séquence traite des fragments qui sont des morceaux de vue dynamiques. L'animation de ces fragments sera aussi abordée.

10m
Jun 14, 2021
Cours N°7.07 Les widgets et notifications

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.

13m
Jun 14, 2021
Cours N°7.06 Framework de communication

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.

9m
Jun 14, 2021
Cours N°7.04 ListView et ListActivity

Cette séquence traite des vues sous formes de listes qui sont très utilisées dans les interfaces mobiles.

10m
Jun 14, 2021
Cours N°7.12 Exercice

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.

1m
Jun 14, 2021
Cours N°7.08 Les Services

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.

12m
Jun 14, 2021
Cours N°7.03 La Persistence

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.

8m
Jun 14, 2021
Cours N°7.10 Les Menus

Cette séquence propose un comparatif entre les concepts communs a Android et iOS et ceux qui diffèrent.

11m
Jun 14, 2021
Cours N°7.13 Projet, «AndroidTweets»

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.

3m
Jun 14, 2021
Cours N°7.09 Les tâches asynchrones

Cette séquence traite des différents menus disponibles sous Android.

8m
Jun 14, 2021
Cours N°7.11 Conclusion

Cette séquence propose un exercice qui manipule les fragements dynamiquement.

16m
Jun 14, 2021
Cours N°7.02 Les Activités (première approche)

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

15m
Jun 14, 2021
Cours N°7.01 Généralité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.

16m
Jun 14, 2021
Cours N°4.20 Exercices, «FullActivities»

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.

3m
Dec 20, 2013
Cours N°4.19 Exercice «Métro Châtelet direction Cassiopée»

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.

3m
Dec 20, 2013
Cours N°4.18 Utilisation des TabBaController, «TBExemple»

Cette séquence présente l'application «TBExemple» permettant d'illustrer la gestion simultanée de vues au moyen d'un UITabBarController.

8m
Dec 20, 2013
Cours N°4.17 UITabBarController

Cette séquence présente la gestion simultanée de plusieurs hiérarchies de vues au moyen d'un UITabBarController.

6m
Dec 19, 2013
Cours N°4.15 Naviguer entre les vues avec un UINavigationController

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.

5m
Dec 19, 2013
Cours N°4.16 Nouvelle extension de «TabAvecVue»

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.

7m
Dec 19, 2013
Cours N°4.14 Modifier une UITableView via son Contrôleur

Cette séquence expose en détail la mécanique intégrée au UITableViewDelegate permettant de gérer l'édition d'une UITableView.

7m
Dec 19, 2013
Cours N°4.13 Extension de «TabAvecVue»

Cette séquence présente une extension de l'application «TabAvecVue» permettant d'illustrer la particularisation d'un élément d'une UITableView.

3m
Dec 19, 2013
Cours N°4.12 Exemple d’utilisation des UITableView, «TabAvecVue»

Cette séquence présente une application simple: «TabAvecVue» . Elle illustre l'utilisation du mécanisme des UITableView.

8m
Dec 19, 2013
Cours N°4.11 Gestion optimisée des cellules dans un TableViewController

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.

7m
Dec 19, 2013
Cours N°4.10 Affichage de données avec un TableViewController, mécanique de base

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.

11m
Dec 19, 2013
Cours N°4.09 Modification du «Sélecteur»

Cette séquence présente une évolution de «Sélecteur» illustrant l'usage d'un UIDatePicker.

3m
Dec 19, 2013
Cours N°4.08 UIDatePicker, un cas particulier

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é.

4m
Dec 19, 2013
Cours N°4.07 Un exemple, le «Sélecteur»

Cette séquence présente «Sélecteur», une application simple permettant d'illustrer l'usage d'une UIPickerView.

8m
Dec 19, 2013
Cours N°4.06 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.

4m
Dec 19, 2013
Cours N°4.05 Un exemple, «Écrire»

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.

7m
Dec 19, 2013
Cours N°4.04 UITextView

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)

6m
Dec 19, 2013