Cours N°5.22 Exercice, «Roule ta bille»
Envie de télécharger cette vidéo sur votre ordinateur ? Cliquez ici (poids : 57.6 Mo)
Résumé
Cette séquence présente l'application «Rouletabille» qui doit fonctionner à la fois sur «petits terminaux» et «grands terminaux».
L'application doit simuler le comportement d'une bille réagissant à l'orientation du terminal. S'il est «à plat», la bille ne bougera pas. Dans le cas contraire, elle «tombera» vers le bord le plus bas. ELle doit s'arrêter au bord de l'écran en émettant un petit «poc».
Une demonstration «en live» de l'utilisation de l'application permet de comprendre la dynamique de son coportement en fonction de l'inclinaison du terminal.
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. Supporter les orientations des terminaux n'a pas réellement de sens ici.
Note(s) Biographique(s)
Bibliographie
Orateur(s) : Fabrice Kordon
Public : Les étudiants de M2
Date : Lundi 16 décembre 2013
Lieu : Campus Jussieu
Tag(s): AVAudioPlayer UIResponder Shake Motion UPMC Programmation iOS iPhone iPad

- Bande annonce
- 1.01 Présentation du cours
- 1.02 Vous avez dit programmation sur plateforme mobile?
- 1.03 Éléments de programmation événementielle
- 1.04 Élaborer & déployer une application
- 1.05 L'environnement de développement
- 1.06 Élaborer une interface d'application (mode «kindergarden»)
- 1.07 Objective C, acte I
- 1.08 Hello World sous iOS
- 1.09 Orientation & applications universelles
- 1.10 Exercice, «BonRevoir»
- 1.11 Exercice, «Dizainier»
- 2.01 Prolégomènes
- 2.02 Objective C - Acte II, quelques classes utiles
- 2.03 Objective C - Acte III, écrire ses propres classes
- 2.04 Objective C - Acte IV, attributs de classe & «properties»
- 2.05 Objective C, ARC et cycle de vie d'un objet
- 2.06 Objective C, le compteur de références
- 2.07 Objective C, autorelease pool
- 2.08 Gestion mémoire et génération des accesseurs
- 2.09 Les vues - Acte I, les bases
- 2.10 Quelques éléments sur CoreGraphics
- 2.11 Gérer les différents types de terminaux
- 2.12 Les vues - Acte II, les nouveautés d’iOS7
- 2.13 Les vues - Acte III, contrôleurs de vues
- 2.14 Les vues - Acte IV, gestion de l'orientation du terminal
- 2.15 Synthèse sur les vues, «UniversalHelloWorld»
- 2.16 «UniversalHelloWorld», gérer l’orientation
- 2.17 «UniversalHelloWorld», gérer les «effets parallaxe»
- 2.18 Exercice, «DizainierGeek»
- 2.19 Exercice, «Imagier»
- 3.01 Prolégomènes
- 3.02 UIWebViews
- 3.03 UIWebViews, exemple d'utilisation: «LaBoite»
- 3.04 UIAlertViews
- 3.05 UIToolbar
- 3.06 UIActionSheet
- 3.07 Extension de «LaBoite» (utilisation de UIAlertView et UIToolBar)
- 3.08 Gestion de la localisation
- 3.09 «TrouveMoi» remière application de la géolocalisation
- 3.10 Manipuler les cartes
- 3.11 Enrichissement de «TrouveMoi»
- 3.12 Les appareils photo
- 3.13 Un exemple, «Photographer»
- 3.14 Le carnet d'adresses
- 3.15 Gestion du carnet d'adresse, «MyAdrBook»
- 3.16 Éléments sur le multi-tâches
- 3.17 Quelques «goodies»
- 3.18 Exercice, «MiniNav»"
- 3.19 Exercice, «iSouvenir»
- 4.01 Prolégomènes
- 4.02 UIActivityIndicatorView
- 4.03 UIProgressView
- 4.04 UITextView
- 4.05 Un exemple, «Écrire»
- 4.06 UIPickerView
- 4.07 Un exemple, le «Sélecteur»
- 4.08 UIDatePicker, un cas particulier
- 4.09 Modification du «Sélecteur»
- 4.10 Affichage de données avec un TableViewController, mécanique de base
- 4.11 Gestion optimisée des cellules dans un TableViewController
- 4.12 Exemple d’utilisation des UITableView, «TabAvecVue»
- 4.13 Extension de «TabAvecVue»
- 4.14 Modifier une UITableView via son Contrôleur
- 4.15 Naviguer entre les vues avec un UINavigationController
- 4.16 Nouvelle extension de «TabAvecVue»
- 4.17 UITabBarController
- 4.18 Utilisation des TabBaController, «TBExemple»
- 4.19 Exercice «Métro Châtelet direction Cassiopée»
- 4.20 Exercices, «FullActivities»
- 5.01 Prolégomènes
- 5.02 UISearchBar
- 5.03 Multi-vues sur un iPad
- 5.04 Exemple de multi-vues, «Couper!»
- 5.05 Interruptions horlogesavec NStimer
- 5.06 Exemple d’utilisation de NSTimer, le «Praxinoscope»
- 5.07 CMMotionManager (accéléromètre, gyroscope, etc.)
- 5.08 Exemple d’utilisation de Motion Control, «Accéléromètre»
- 5.09 Shake Motion
- 5.10 Exemple de détection des secousses, «Shaker»
- 5.11 UIdevice, ou comment récupérer des informations sur le terminal
- 5.12 Exemple d’utilisation de UIDevice, «Bavardages»
- 5.13 Touch & multi-touch, principes de fonctionnement
- 5.14 Exemple de touch/multitouch, «Toucher!»
- 5.15 Audio & Vidéo, principes de fonctionnement
- 5.16 AVAudioPlayer
- 5.17 Exemple d’utilisation d’AVAudioPlayer, «UnSon»
- 5.18 MPMusicPlayerController et MPMediaPickerController
- 5.19 Exemple de manipulations de la playlist, «UnePiste»
- 5.20 Et l’enregistrement audio?
- 5.21 Exercice, «TaperJouer»
- 5.22 Exercice, «Roule ta bille»
- 6.01 Prolégomènes
- 6.02 Les notifications
- 6.03 Exemple, «jte cause»
- 6.04 Exemple, «Notify!»
- 6.05 Extention de l’exemple «Notify!»
- 6.06 La vidéo
- 6.07 Exemple, «Moteurs!»
- 6.08 Se connecter au réseau
- 6.09 Exemple, «MiniMeteo»
- 6.10 Parser de l’XML
- 6.11 Exemple d’accès à un service XML, «UE SAR»
- 6.12 «Bonjour»
- 6.13 Un exemple «OK Corral»
- 6.14 Les préférences
- 6.15 Exemple de gestion des préférences, «Preferences»
- 6.16 Gestion de données persistantes
- 6.17 Exemple de Persistance, «MeSouvenir»
- 6.18 Conclusion sur iOS
- 6.19 Exercice, «LocaliseMoi»
- 6.20 Exercice, «iMoods»
- 7.01 Généralités
- 7.02 Les Activités (première approche)
- 7.03 La Persistence
- 7.04 ListView et ListActivity
- 7.05 Les Fragments
- 7.06 Framework de communication
- 7.07 Les widgets et notifications
- 7.08 Les Services
- 7.09 Les tâches asynchrones
- 7.10 Les Menus
- 7.11 Conclusion
- 7.12 Exercice
- 7.13 Projet, «AndroidTweets» Liste détaillée.
Vidéos disponibles
Ressources
Vous pouvez consulter les ressources associées à ce cours :
En savoir +
Flash Player
Si vous rencontrez des problèmes pour visualiser la vidéo, nous vous recommandons de mettre à jour Flash Player