Alphorm.com-Formation windows phone 8.1

2 303 vues

Publié le

La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-windows-phone-8-1

Le système Windows Phone 8.1 est un système majeur dans l'univers des mobiles. Création de Microsoft, il succède aux versions 7 et 8 du système.
Cette formation vous permet de programmer pour Windows Phone 8.1, utilisant l'environnement Visual Studio 2013, en mettant en évidence les différences entre les projets supportant Windows Phone 8.0, 8.1 RT et 8.1 Silverlight.
De la création de l'interface graphique aux accès réseau et à la gestion de l'accéléromètre, vous profiterez de l'expertise de développement de Fabien Brissonneau, qui vous amènera à découvrir les aspects les plus intéressants de ces applications.
Le but de cette formation pragmatique est de vous permettre de programmer au plus vite sous Windows Phone 8.1

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 303
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 433
Actions
Partages
0
Téléchargements
42
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Alphorm.com-Formation windows phone 8.1

  1. 1. 25/08/2014 1 Présentation de la formation Windows Phone 8/8.1 Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Windows Phone 8/8.1
  2. 2. 25/08/2014 2 Plan • Présentation du formateur • Les autres formations en programmation sur alphorm.com • Qu’est-ce que Windows Phone 8? • Le plan de formation • Présentation des outils Windows Phone 8 alphorm.com™© • Présentation des outils • Publics concernés • Connaissances requises • Les références
  3. 3. 25/08/2014 3 Présentation du formateur • Fabien Brissonneau • Email : fabien.brissonneau@gmail.com • Consultant Concepteur et Formateur • Missions d’architecture, de conception , de réalisation logicielles • Fondateur de eiXa6 • Actuellement en mission sur un projet de gestion Windows Phone 8 alphorm.com™© • Actuellement en mission sur un projet de gestion • Mes références : Mon profil Viadeo : http://fr.viadeo.com/fr/profile/fabien.brissonneau Mon profil LinkedIn : http://fr.linkedin.com/pub/fabien-brissonneau/65/902/92a/
  4. 4. 25/08/2014 4 Mes formations déjà réalisées sur alphorm.com Windows Phone 8 alphorm.com™©
  5. 5. 25/08/2014 5 Autres formations en .NET déjà réalisées sur alphorm.com Windows Phone 8 alphorm.com™© Autres formations en .NET sur alphorm
  6. 6. 25/08/2014 6 Qu’est ce que c’est Windows Phone 8.1 • Windows Phone 8.1 est un système d’exploitation • Successeur des Windows Phone 7 et 8 • Utilise les ressources d’un appareil mobile • Converge vers le système Windows Windows Phone 8 alphorm.com™© • Le framework à utiliser est quasi le même
  7. 7. 25/08/2014 7 Le plan de formation 1. Introduction 2. Construire une application 3. Le déploiement de l'application 4. Les interfaces graphiques Windows Phone 8 alphorm.com™© 5. Les interactions avec le système 6. Les accès réseau 7. Les capteurs 8. Conclusion
  8. 8. 25/08/2014 8 Présentation des outils • Visual Studio • Les projets Windows Phone • Windows Phone 8, 8.1, 8.1 Silverlight Windows Phone 8 alphorm.com™©
  9. 9. 25/08/2014 9 Publics concernés • Tout développeur intéressé par une première approche du système • Même sans connaissance de l’écosystème Microsoft • Développeur souhaitant passer de Windows Phone 7 à 8 Windows Phone 8 alphorm.com™©
  10. 10. 25/08/2014 10 Connaissances requises • Bases de la programmation • A l’aise avec la notion de compilation, de debug • La connaissance d’un langage de programmation est un plus • Le C# est ici utilisé pour la partie programmation Windows Phone 8 alphorm.com™©
  11. 11. 25/08/2014 11 Les références • Un système Windows 8 • Le site dev.windows.com • Visual Studio 2013, Update 2 Windows Phone 8 alphorm.com™©
  12. 12. 25/08/2014 12 Are you ready ? ☺ Windows Phone 8 alphorm.com™©
  13. 13. 25/08/2014 13 Introduction Visual Studio et Blend Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Visual Studio et Blend
  14. 14. 25/08/2014 14 Plan • Visual Studio 2013 • Edition du code C# vs XAML • Propriétés de projets • Blend Windows Phone 8 alphorm.com™©
  15. 15. 25/08/2014 15 Visual Studio 2013 Windows Phone 8 alphorm.com™©
  16. 16. 25/08/2014 16 Edition du code C# vs XAML Windows Phone 8 alphorm.com™©
  17. 17. 25/08/2014 17 Propriétés de projets Windows Phone 8 alphorm.com™©
  18. 18. 25/08/2014 18 Blend Windows Phone 8 alphorm.com™©
  19. 19. 25/08/2014 19 Ce qu’on a couvert • Présentation de Visual Studio • Les éditeurs de code C# et de XAML • Les propriétés du projet • Blend, outil graphique Windows Phone 8 alphorm.com™© FIN
  20. 20. 25/08/2014 20 Introduction Les différents projets WP Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les différents projets WP
  21. 21. 25/08/2014 21 Plan • Application WP • Application liée aux données • Application panorama • Application pivot Windows Phone 8 alphorm.com™© • Application XAML avec Direct3D • Application HTML5 • Et les autres : bibliothèques, tests, agents
  22. 22. 25/08/2014 22 Application Windows Phone • PhoneApplicationFrame • PhoneApplicationPage • Canvas, Border, Grid Windows Phone 8 alphorm.com™©
  23. 23. 25/08/2014 23 Application liée aux données • Utilise une liste liée • Navigation facile en partant des items sélectionnés Windows Phone 8 alphorm.com™©
  24. 24. 25/08/2014 24 Application Panorama • Un panorama est un conteneur long qui contient des items • Idéal pour placer un contenu qui s’étale en longueur • Pas à gérer les mouvements de l’utilisateur Windows Phone 8 alphorm.com™©
  25. 25. 25/08/2014 25 Application Pivot • Alternative au panorama • Contient des items qui sont rapidement accessibles Windows Phone 8 alphorm.com™©
  26. 26. 25/08/2014 26 Application XAML et Direct3D • Il existe des application pure Direct3D, écrites en C++ • Un contrôle Direct3D peut être intégré dans l’application managée • La surface occupée et le contrôle utilisé pour faire l’interaction Appli Managée/Direct3D dépend du modèle utilisé : DrawingSurface, qui est un contrôle comme un autre Windows Phone 8 alphorm.com™© DrawingSurface, qui est un contrôle comme un autre DrawingSurfaceBackgroundGrid, qui occupe toute la surface de l’écran
  27. 27. 25/08/2014 27 Application HTML5 • Utilisable via le composant WebBrowser, navigateur HTML Windows Phone 8 alphorm.com™©
  28. 28. 25/08/2014 28 Ce qu’on a couvert • Les différents types de projets offerts sous Windows Phone 8 • Le modèle de base • Les applications liées aux données • Le panorama Windows Phone 8 alphorm.com™© • Le pivot • XAML et Direct3D • Les applications HTML5 FIN
  29. 29. 25/08/2014 29 Introduction Emulateur et matériel Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Emulateur et matériel
  30. 30. 25/08/2014 30 Plan • L’émulateur WP • Le paramétrage de l’émulateur • L’exécution sur un matériel Windows Phone 8 alphorm.com™©
  31. 31. 25/08/2014 31 L’émulateur WP • L’émulateur Windows Phone est une application qui émule un matériel • Il fournit aussi un environnement isolé pour tester • L’émulateur WP8 n’est pas compatible avec des applications avant 7.1 • Les paramétrages identiques à ceux d’un appareil physique Windows Phone 8 alphorm.com™©
  32. 32. 25/08/2014 32 Le paramétrage de l’émulateur • Résolutions d’écrans : WVGA (800x480), WXGA (1280x768), 720p (1280x720) • Options portrait/paysage • Mémoire contrainte : par défaut WXGA 512Mo • Réseau : possibilité de limiter la bande passante Windows Phone 8 alphorm.com™© • Réseau : possibilité de limiter la bande passante • Langue et régionalisation • Cycle de vie de l’application • Stockage local : (isolated storage) de la durée de fonctionnement • Caméra, GPS …
  33. 33. 25/08/2014 33 La barre d’outil • Changer l’orientation • Zoomer, ajuster la taille de l’émulateur • Changer de langue et de paramètres régionaux • Faire que l’application change d’état : Start, Back, Punaise Windows Phone 8 alphorm.com™©
  34. 34. 25/08/2014 34 L’exécution sur un matériel • Nécessaire avant livraison • Suppose de cibler un appareil connecté • Indispensable pour tester : boussole, gyroscope, vibrations, luminosité Windows Phone 8 alphorm.com™©
  35. 35. 25/08/2014 35 Ce qu’on a couvert • L’émulateur est un outil qui permet de tester l’application • Les menus permettent de l’utiliser comme un vrai téléphone • Les paramètres vont permettre de tester des conditions limites • Il faut tester l’application sur un téléphone matériel avant livraison Windows Phone 8 alphorm.com™© FIN
  36. 36. 25/08/2014 36 Introduction Version 8 et 8.1 Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Version 8 et 8.1
  37. 37. 25/08/2014 37 Plan • Les projets Visual Studio • La convergence vers Windows Store Apps • Les nouveautés de 8.1 Windows Phone 8 alphorm.com™©
  38. 38. 25/08/2014 38 Les projets Visual Studio • Projets renommés • Bien faire la différence entre Windows Phone 8.1 Silverlight Windows Phone 8.1 • Suivant le type du projet, les menus sont différents Windows Phone 8 alphorm.com™© • Suivant le type du projet, les menus sont différents
  39. 39. 25/08/2014 39 La convergence Windows Store • Modèle d’application et cycle de vie • Manifest, construction et déploiement • XAML Windows Phone 8 alphorm.com™©
  40. 40. 25/08/2014 40 Les nouveautés de 8.1 • Nouvelles classes de gélocalisation • Zonage géographique (geofencing) • Meilleure gestion des cartes • Transferts en arrière-plan Windows Phone 8 alphorm.com™© • Nouvelle gestion des media • Utilisation de WNS pour les notifications • La barre de commande nouvelle • …
  41. 41. 25/08/2014 41 Ce qu’on a couvert • Les projets Visual Studio • La convergence vers Windows Store Apps • Les nouveautés de 8.1 Windows Phone 8 alphorm.com™© FIN
  42. 42. 25/08/2014 42 Construire une application Construire l’interface Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Construire l’interface
  43. 43. 25/08/2014 43 Plan • L’application, les pages • Utiliser la boîte à outils Les layout Les contrôles • Edition du XAML Windows Phone 8 alphorm.com™© • Edition du XAML • Edition du C#
  44. 44. 25/08/2014 44 L’application, les pages • L’application est l’objet qui réalise le démarrage du programme • Peut être utilisée pour intervenir avant l’apparition de l’ihm • App.xaml référence l’objet PhoneApplicationFrame • Ce dernier objet sert à la navigation entre les pages Windows Phone 8 alphorm.com™© • Une page, dérivée de PhoneApplicationPage, contient les contrôles • Elle référence divers espaces de nommages, dont MS.Phone.Controls
  45. 45. 25/08/2014 45 Utiliser la boîte à outils • La boîte à outils sert à construire l’ihm • Les contrôles sont déposés simplement sur le concepteur graphique • La boîte à outils sert aussi à disposer les layout • Le layout est un conteneur qui règle le positionnement initial et la déformation des contrôles Windows Phone 8 alphorm.com™© déformation des contrôles
  46. 46. 25/08/2014 46 Edition du XAML • L’édition directe du XAML est rapide • XAML est un langage de description de pages dialecte XML • Support de WPF et Silverlight • Avec XAML, on peut décrire la quasi-totalité de l’ihm Windows Phone 8 alphorm.com™© • Le lien avec la code C# (ou autre) est réalisé par le runtime
  47. 47. 25/08/2014 47 Edition du C# • Le C# est un langage de programmation orienté objet • Il permet d’implémenter la logique applicative • Les objet XAML sont utilisables par leur noms • Les attributs du XAML sont des propriétés des objets C# Windows Phone 8 alphorm.com™©
  48. 48. 25/08/2014 48 Ce qu’on a couvert • L’application est unique et référence la racine • Une page est le conteneur des contrôles à un moment donné • Utiliser la boîte à outils pour distribuer les contrôles en tenant compte des conteneur de positionnement utilisés • Edition du XAML pour intervenir sur l’ihm Windows Phone 8 alphorm.com™© • Edition du XAML pour intervenir sur l’ihm • Edition du C# pour ajouter le code ayant une logique plus applicative FIN
  49. 49. 25/08/2014 49 Construire une application Améliorer l’interface Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Améliorer l’interface
  50. 50. 25/08/2014 50 Plan • Saisie de dates, heures • Liaison entre contrôles • Validation des entrées • Onglets avec Pivot Windows Phone 8 alphorm.com™© • Scrolling • Application bar
  51. 51. 25/08/2014 51 Saisies de dates et heures • Depuis WP 8.1, contrôles DatePicker et TimePicker • Possibilités d’initialiser les propriétés de ces contrôles • Récupérer les informations Windows Phone 8 alphorm.com™©
  52. 52. 25/08/2014 52 Les liaisons entre contrôles • Le databinding permet de : Positionner une propriété d’un champ en fonction d’un autre Mettre à jour un champ par rapport à un objet C# Mettre à jour un objet C# par rapport à un contrôle Windows Phone 8 alphorm.com™©
  53. 53. 25/08/2014 53 La validation des entrées • Il faut contrôler la validité des saisies utilisateurs • Réagir sur l’événement de saisie Windows Phone 8 alphorm.com™©
  54. 54. 25/08/2014 54 Les onglets avec Pivot • Le contrôle Pivot permet de présenter plusieurs onglets • Navigation facile, avec une description différente dans chaque partie • Le contrôle Pivot est à la base d’un type de projet Visual Windows Phone 8 alphorm.com™©
  55. 55. 25/08/2014 55 Scrolling et application bar • Le scrolling va être automatique si la surface n’est pas suffisante • La barre de boutons 8.1 est différente de celle de 8 AppBarButton AppBarToggleButton Windows Phone 8 alphorm.com™©
  56. 56. 25/08/2014 56 Ce qu’on a couvert • La richesse des contrôles • La liaison entre contrôles et données permet d’économiser pas mal de code • Les onglets avec Pivot permettent de construire une ihm plus riche Windows Phone 8 alphorm.com™© FIN
  57. 57. 25/08/2014 57 Construire une application Gestion des événements Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Gestion des événements
  58. 58. 25/08/2014 58 Plan • Principe des callbacks en XAML/C# • Les événements disponibles sur les contrôles • Le modèle de commandes • Le modèle MVVM Windows Phone 8 alphorm.com™©
  59. 59. 25/08/2014 59 Principe des callback • Une fonction de rappel est déclenchée lorsqu’un événement est levé • La fonction de rappel est typiquement écrite en C# • La fonction peut être branchée Lors du chargement du formulaire, en C# Windows Phone 8 alphorm.com™© Dans la description du contrôle, en XAML • La callback, ou fonction de rappel, est le « event handler »
  60. 60. 25/08/2014 60 Les événements disponibles sur les contrôles • Chaque contrôle propose un ensemble d’événements • Un événement est un message émis en réponse à une action utilisateur ou à la logique interne • Le « event handler » reçoit 2 ,paramètres L’émetteur de l’événement Windows Phone 8 alphorm.com™© L’émetteur de l’événement Un objet d’une sous-classe de EventArgs • Les RoutedEvents sont spécifiques UI WP, et peuvent remonter les contrôles parents
  61. 61. 25/08/2014 61 Le modèle MVVM • Model View ViewModel Model : les objets de donnée View : la page XAML ViewModel : un objet lié par DataContext de la View • Les binding vont faire le lien entre les contrôles et les propriétés du Windows Phone 8 alphorm.com™© • Les binding vont faire le lien entre les contrôles et les propriétés du ViewModel
  62. 62. 25/08/2014 62 Le modèle de commande • Repose sur l’utilisation de ICommand • Créer une classe qui : Implémente les méthodes Execute et CanExecute Expose un événement CanExecuteChanged • Cette classe délègue au ViewModel l’exécution réelle Windows Phone 8 alphorm.com™© • Cette classe délègue au ViewModel l’exécution réelle Func<P,R> : représente une fonction paramètre type P, retour type R Action<P> : représente une procédure de paramètre de type P
  63. 63. 25/08/2014 63 Ce qu’on a couvert • Les gestionnaires d’événements se connectent sur les contrôles • Les contrôles présentent des événements auxquels s’baonner Certains événements sont routés vers les parents au besoin • Les commandes sont des objets qui sont connectés aux contrôles Windows Phone 8 alphorm.com™© • Le modèle MVVM simplifie la maintenance de l’application FIN
  64. 64. 25/08/2014 64 Construire une application Les gestion des erreurs Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les gestion des erreurs
  65. 65. 25/08/2014 65 Plan • Les exceptions CLR • Les exceptions dans la validation BindingValidationError • Les déclarations de capacités dans le manifest Windows Phone 8 alphorm.com™© UnauthorizedAccessException • Ne pas laisser passer d’exceptions, requis par la certification
  66. 66. 25/08/2014 66 Les exceptions CLR • Le framework DotNet signale les erreurs exceptionnelles par exceptions • Une exception est un objet d’une classe héritant de la classe Exception SystemException, ApplicationException • Une exception capte un contexte d’erreur Windows Phone 8 alphorm.com™© Création de l’objet exception en passant des paramètres Levée avec throw • Un gestionnaire d’erreur récupère ces informations Mots-clés try / catch/ finally
  67. 67. 25/08/2014 67 Les exceptions dans la validation • En mode two-way, le modèle est mis à jour • Le modèle lève une exception en cas d’erreur • Dans le XAML, utiliser un gestionnaire sur le parent du contrôle concerné par la validation BindingValidationError=<nom du gestionnaire> Windows Phone 8 alphorm.com™© BindingValidationError=<nom du gestionnaire> Tester la propriété Action de l’argument (Added, Removed)
  68. 68. 25/08/2014 68 Les exceptions de capacité • Si on tente de déclencher du code sous contrôle du manifest • Sélectionner dans le manifest Windows Phone 8 alphorm.com™©
  69. 69. 25/08/2014 69 Ce qu’on a couvert • Les exceptions CLR • Les exceptions dans la validation BindingValidationError • Les déclarations de capacités dans le manifest Windows Phone 8 alphorm.com™© UnauthorizedAccessException • Ne pas laisser passer d’exceptions, requis par la certification FIN
  70. 70. 25/08/2014 70 Construire une application Les ressources images Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les ressources images
  71. 71. 25/08/2014 71 Plan • Le répertoire Assets • Les images en tant que contenu ou ressource • Lier une image à XAML • Charger une image en C# Windows Phone 8 alphorm.com™© • Les images dans la publication de l’application • Les images et les tuiles
  72. 72. 25/08/2014 72 Le répertoire Assets • Le répertoire Assets est fourni avec quelques images-types • En général, il existe 3 tailles d’images, et le système va les mettre à l’échelle en fonction de la résolution de l’appareil • La référence vers l’image se fait en spécifiant le chemin • Les formats sont : jpg, png, bmp, gif, tiff, ico Windows Phone 8 alphorm.com™© • Les formats sont : jpg, png, bmp, gif, tiff, ico • Pour charger une image, Image ou ImageBrush
  73. 73. 25/08/2014 73 Les images, contenu ou ressource • Action de build sur l’image : Contenu vs Ressource Contenu : packagé, mais pas dans l’assembly, obligatoire pour contrôles Ressource : dans l’assembly, problème de temps de chargement initial Windows Phone 8 alphorm.com™©
  74. 74. 25/08/2014 74 Les images en XAML • Balise Image, propriété Source Windows Phone 8 alphorm.com™©
  75. 75. 25/08/2014 75 Les images en C# • Possibilité de positionner les images sources Windows Phone 8 alphorm.com™©
  76. 76. 25/08/2014 76 Les images pour publier l’application • Certaines images sont indispensables à la création du package Icône d’application 300x300 • Images optionnelles de promotion • Pour publication dans le Store, au moins une capture d’écran (8 max) Windows Phone 8 alphorm.com™© • Les règles sont différentes dans le Windows Store
  77. 77. 25/08/2014 77 Les images et les tuiles • Les tuiles peuvent être « flip », « cycle » ou « iconic » Une icône : taille small (71x110)+ medium (134x202) Cyclique : 1 small (159x159) + 9 maxi medium Flip : 3 front et 3 back • Les images sont fournies selon différentes résolutions Windows Phone 8 alphorm.com™© • Les images sont fournies selon différentes résolutions • La taille des images affichées est choisie par l’utilisateur
  78. 78. 25/08/2014 78 Ce qu’on a couvert • Le répertoire Assets • Les ressources en tant que contenu ou ressource • Lier une image à XAML • Charger une image en C# Windows Phone 8 alphorm.com™© • Les images dans la publication de l’application • Les images et les tuiles FIN
  79. 79. 25/08/2014 79 Le déploiement Le compte développeur Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Le compte développeur
  80. 80. 25/08/2014 80 Plan • Créer un compte développeur • Le site dev.windows.com Windows Phone 8 alphorm.com™©
  81. 81. 25/08/2014 81 Le site dev.windows.com • Centre de développement • Tableau de bord, pour suivi des applications • Accès à la publication des applications Windows Phone 8 alphorm.com™©
  82. 82. 25/08/2014 82 Créer un compte développeur • Infos compte Microsoft • Information de carte de crédit • Compte individuel ou entreprise Windows Phone 8 alphorm.com™©
  83. 83. 25/08/2014 83 Ce qu’on a couvert • Créer un compte développeur • Le site dev.windows.com Windows Phone 8 alphorm.com™© FIN
  84. 84. 25/08/2014 84 Le déploiement Le manifest Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Le manifest
  85. 85. 25/08/2014 85 Plan • Définition • Contenu Windows Phone 8 alphorm.com™©
  86. 86. 25/08/2014 86 Définition • Le « manifest » est un document XML • Contient les infos pour déployer, afficher et mettre à jour l’application Windows Phone 8 alphorm.com™©
  87. 87. 25/08/2014 87 Contenu • Identité du package • Dépendances • Capacités requises • Elements visuels Windows Phone 8 alphorm.com™© • Points d’extension
  88. 88. 25/08/2014 88 Ce qu’on a couvert • Définition • Contenu Windows Phone 8 alphorm.com™© FIN
  89. 89. 25/08/2014 89 Le déploiement Le package Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Le package
  90. 90. 25/08/2014 90 Plan • Construire le package • Le Kit de certification • Soumettre l’application Windows Phone 8 alphorm.com™©
  91. 91. 25/08/2014 91 Construire le package • Sous Visual Studio • Ensuite le package généré sera Directement utilisé sur un téléphone déverrouillé Téléchargé dans le Windows Phone Store Utilisé dans un émulateur Windows Phone Windows Phone 8 alphorm.com™© Utilisé dans un émulateur Windows Phone • Nécessite un compte développeur
  92. 92. 25/08/2014 92 Le Kit de certification • Livré avec le SDK • Accessible en tant qu’application sous Windows • Ou bien lancée directement via Visual Studio Windows Phone 8 alphorm.com™©
  93. 93. 25/08/2014 93 Soumettre l’application • La soumission comprend : Les infos rentrées à la soumission Le package d’application • Différents états, 12 possibles • A suivre dans le tableau de bord Windows Phone 8 alphorm.com™© • A suivre dans le tableau de bord
  94. 94. 25/08/2014 94 Ce qu’on a couvert • Construire le package • Le Kit de certification • Soumettre l’application Windows Phone 8 alphorm.com™© FIN
  95. 95. 25/08/2014 95 Le déploiement L’internationalisation Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum L’internationalisation
  96. 96. 25/08/2014 96 Plan • Traduction des ressources utilisateur • L’internationalisation de ressources image, audio, vidéo… Windows Phone 8 alphorm.com™©
  97. 97. 25/08/2014 97 Traduction des ressources utilisateur • Définir la langue par défaut « fr-FR » • Créer les dossiers et fichiers de ressources Strings/fr-FR/Resources.resw • Les éléments visuels portent un attribut x:Uid Windows Phone 8 alphorm.com™© X:Uid=<nom de la chaîne> • Dans le code, accès via Windows.ApplicationModel.Resources.ResourceLoader() . GetString(<nom>)
  98. 98. 25/08/2014 98 Ressources audio, vidéo… • Consommateur de ressources systèmes • Utiliser si possible des ressources neutres • Fichiers nommés par qualificateurs de ressources Images/fr-FR/logo.scale-100_contrast-white.png Windows Phone 8 alphorm.com™© Images/logo.png
  99. 99. 25/08/2014 99 Ce qu’on a couvert • Traduction des ressources utilisateur • L’internationalisation de ressources image, audio, vidéo… Windows Phone 8 alphorm.com™© FIN
  100. 100. 25/08/2014 100 Les interfaces graphiques Les différents types Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les différents types d’interfaces
  101. 101. 25/08/2014 101 Plan • L’application vide • L’application Hub ou Panorama • L’application Pivot • L’application Webview ou HTML Windows Phone 8 alphorm.com™©
  102. 102. 25/08/2014 102 L’application vide • L’ihm est quasi vide, selon qu’on prend Silverlight ou non • Libre choix de la construction de l’interface graphique • Nécessité de créer des pages entre lesquelles il faut naviguer • Les layouts : Grid, StackPanel, Canvas Windows Phone 8 alphorm.com™©
  103. 103. 25/08/2014 103 L’application Hub ou Panorama • Le Hub, ou Panorama est une organisation particulière de l’application • Un contrôle Hub (Panorama) et des contrôles HubSection(PanoramaItem) • Le contrôle Hub offre : Background, Title, Items Windows Phone 8 alphorm.com™©
  104. 104. 25/08/2014 104 L’application Pivot • L’application Pivot met en avant un découpage de groupes en items • Les contrôles à utiliser sont Pivot et Pivot Item • Le databinding est ici très utile Windows Phone 8 alphorm.com™©
  105. 105. 25/08/2014 105 L’application Webview ou HTML • Une application basée sur un contrôles WebView • Edition de pages HTML • Une interface web, basée sur du HTML Windows Phone 8 alphorm.com™©
  106. 106. 25/08/2014 106 Ce qu’on a couvert • L’application vide • L’application Hub ou Panorama • L’application Pivot • L’application Webview ou HTML Windows Phone 8 alphorm.com™© FIN
  107. 107. 25/08/2014 107 Les interfaces graphiques La navigation Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum La navigation
  108. 108. 25/08/2014 108 Plan • OnNavigatedFrom / OnNavigatedTo • NavigationService • Frame : Navigate, GoBack, GoForward • NavigationHelper / SyspensionManager Windows Phone 8 alphorm.com™©
  109. 109. 25/08/2014 109 OnNavigatedFrom / OnNavigatedTo • La construction des pages : hyperlink / Navigate • La maintenance de l’état de la page ne doit donc pas être fait dans le constructeur, ni Loaded ou LayoutUpdated Windows Phone 8 alphorm.com™©
  110. 110. 25/08/2014 110 NavigationService • Disponible pour Silverlight 8.1 • Founir l’URI de la page cible • NavigationService.Navigate(new Uri( …)) Windows Phone 8 alphorm.com™©
  111. 111. 25/08/2014 111 Frame • Sur la classe Frame : Navigate GoBack GoForward • Exemple : Windows Phone 8 alphorm.com™© • Exemple : Frame.Navigate(typeof(AutrePage)); • Dans App.cs, Navigate sur rootFrame pour charger la première
  112. 112. 25/08/2014 112 SuspensionManager / NavigationHelper • SuspensionManager Une classe fournie dans certains types de projets Simplifie la gestion de l’état de l’application Propose un dictionnaire, SessionState • NavigationHelper Windows Phone 8 alphorm.com™© • NavigationHelper Chargé de rappeler LoadState/SaveState de la page Utiliser (EventArgs) e .PageState
  113. 113. 25/08/2014 113 Ce qu’on a couvert • OnNavigatedFrom / OnNavigatedTo • NavigationService • Frame : Navigate, GoBack, GoForward • NavigationHelper / SuspensionManager Windows Phone 8 alphorm.com™© FIN
  114. 114. 25/08/2014 114 Les interfaces graphiques L’interface DirectX Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum L’interface DirectX
  115. 115. 25/08/2014 115 Plan • L’application DirectX Ne permet pas le mixage XAML/C++ • L’application DirectX et XAML Une surface de dessin DirectX dimensionnée, intégrée dans un projet XAML Composant SurfaceImageSource Windows Phone 8 alphorm.com™© • Composant SurfaceImageSource Une grande image, sur laquelle on zoom • Composant VirtualSurfaceImageSource Des images en temps réel • Composant SwapChainPanel
  116. 116. 25/08/2014 116 L’application DirectX • La fenêtre complète est occupée par un objet de rendu graphique • Une boucle dans laquelle : On met à jour le contenu On affiche directement • Les actions de l’utilisateur sont redirigées Windows Phone 8 alphorm.com™© • Les actions de l’utilisateur sont redirigées
  117. 117. 25/08/2014 117 XAML et DirectX • Possibilité de mixer XAML et accès direct à l’affichage • Moindre performance Windows Phone 8 alphorm.com™©
  118. 118. 25/08/2014 118 Ce qu’on a couvert • L’application DirectX Ne permet pas le mixage XAML/C++ • L’application DirectX et XAML Une surface de dessin DirectX dimensionnée, intégrée dans un projet XAML Composant SurfaceImageSource Windows Phone 8 alphorm.com™© • Composant SurfaceImageSource Une grande image, sur laquelle on zoom • Composant VirtualSurfaceImageSource Des images en temps réel • Composant SwapChainPanel FIN
  119. 119. 25/08/2014 119 Les interfaces graphiques Action et multitouch Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Action et multitouch
  120. 120. 25/08/2014 120 Plan • Les mouvements utilisateur • Les niveaux de traitements Windows Phone 8 alphorm.com™©
  121. 121. 25/08/2014 121 Les mouvements utilisateur • Tap : un doigt touche et relâche • DoubleTap : 2 taps • Hold : un doigt touche et reste en place • Pan/Drag : un doigt touche et bouge un contenu(Pan : le contenu est plus grand que l’écran) Windows Phone 8 alphorm.com™© plus grand que l’écran) • Flick : un doigt touche et se déplace en dehors de l’écran • Pinch : 2 doigts touchent et se rapprochent • Stretch : 2 doigts touchent et s’écartent
  122. 122. 25/08/2014 122 Les niveaux de traitements • Evénements bas-niveau (Manipulation) • On- méthodes bas niveau • Evénements haut-niveau • On- méthodes haut niveau Windows Phone 8 alphorm.com™© • FrameReported Event
  123. 123. 25/08/2014 123 Ce qu’on a couvert • Les mouvements utilisateur • Les niveaux de traitements Windows Phone 8 alphorm.com™© FIN
  124. 124. 25/08/2014 124 Les interactions avec le système Le cycle de vie Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Le cycle de vie
  125. 125. 25/08/2014 125 Plan • Règles générales • Les états d’une application • Scénarios • Les méthodes de App : OnLaunched, OnActivated, Suspending, Resuming Windows Phone 8 alphorm.com™© Resuming
  126. 126. 25/08/2014 126 Les états d’une application • NotRunning -> Activated -> Running • Running -> Suspending -> Suspended • Suspended -> Resuming -> Running • Suspended -> NotRunning Windows Phone 8 alphorm.com™©
  127. 127. 25/08/2014 127 Règles générales • Il peut y avoir plusieurs applications tournant en même temps, mais une seule est active • Seule l’application active peut activer une autre application • Il n’y a qu’une seule page active • L’utilisateur peut toujours revenir au départ Windows Phone 8 alphorm.com™© • L’utilisateur peut toujours revenir au départ • L’utilisateur peut toujours faire un back, retour vers la page précédente ou vers l’application précédente • Une application vers laquelle on fait un forward doit se présenter comme précédemment
  128. 128. 25/08/2014 128 Les scénarios • Une application recharge ses données lorsqu’elle reçoit l’événement Launch • Un test sur PreviousExecutionState permettra de savoir si elle doit recharger ses données ou non • Lors de la suspension, il faudra sauvegarder les données associées, libérer les ressources Windows Phone 8 alphorm.com™© libérer les ressources • Il n’y a pas de notification lors de la terminaison éventuelle
  129. 129. 25/08/2014 129 Les méthodes de App • OnLaunched : une nouvelle instance de l’application est lancée • OnActivated : l’application est active, il faut restaurer l’état • Suspending : on passe en arrière plan, peut être terminée plus tard • Resuming : avant activation, si un gestionnaire est enregistré Windows Phone 8 alphorm.com™© • Ne pas oublier OnNavigatedFrom et OnNavigatedTo
  130. 130. 25/08/2014 130 Ce qu’on a couvert • Règles générales • Les états d’une application • Scénarios • Les méthodes de App : OnLaunched, OnActivated, Suspending, Resuming Windows Phone 8 alphorm.com™© Resuming FIN
  131. 131. 25/08/2014 131 Les interactions avec le système Launchers et choosers Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Launchers et choosers Et équivalents sous 8.1
  132. 132. 25/08/2014 132 Plan • Windows Phone 8.0 Launchers • Lance une application et ne retourne rien Choosers • Lance une application et retourne quelque chose Windows Phone 8 alphorm.com™© • Lance une application et retourne quelque chose • Windows Phone 8.1 Microsoft.Phone.Tasks n’existe pas
  133. 133. 25/08/2014 133 Launchers • BingMapsTask • ConnectionSettingsTask • EmailComposeTask • PhoneCallTask Windows Phone 8 alphorm.com™© • … • Dans l’espace de nommage Microsoft.Phone.Tasks
  134. 134. 25/08/2014 134 Choosers • AddressChooserTask • PhotoChooserTask • SaveContactTask • … Windows Phone 8 alphorm.com™© • Ces tâches sont prévues pour retourner une information
  135. 135. 25/08/2014 135 Sous Windows Phone 8.1 … • Lancer un appel téléphonique … • Utiliser PhoneCallManager • Espace de nommage Windows.ApplicationModel.Calls Windows Phone 8 alphorm.com™©
  136. 136. 25/08/2014 136 Sous Windows Phone 8.1 … • La gestion des medias via MediaCapture • Récupérer une photo via FileOpenPicker … • … • Espace de nommage Windows.Storage.Pickers Windows Phone 8 alphorm.com™©
  137. 137. 25/08/2014 137 Ce qu’on a couvert • Launchers Lance une application et ne retourne rien • Choosers Lance une application et retourne quelque chose L’équivalent sous Windows Phone 8.1 Windows Phone 8 alphorm.com™© L’équivalent sous Windows Phone 8.1 FIN
  138. 138. 25/08/2014 138 Les interactions avec le système Les settings Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les settings
  139. 139. 25/08/2014 139 Plan • ApplicationData • Exemple de code pour sauver les paramètres • Exemple de code pour charger les paramètres Windows Phone 8 alphorm.com™©
  140. 140. 25/08/2014 140 ApplicationData • Classe de Windows.Storage • Disponible à partir de Windows Phone 8.1 • Emplacement des données géré par le système Local : sur le matériel courant et le cloud Roaming : pour tous les matériels sur lequel cette app est installée Windows Phone 8 alphorm.com™© Roaming : pour tous les matériels sur lequel cette app est installée Temporary : les données peuvent disparaître n’importe quand Localcache : données qui n’existent QUE sur ce matériel • Possibilités de versionner les data
  141. 141. 25/08/2014 141 Exemple de code pour sauver les paramètres • var appData = Windows.Storage.ApplicationData.Current; • var localSettings = appData.LocalSettings; • localSettings.Values["NomUtilisateur"] = nom.Text; Windows Phone 8 alphorm.com™©
  142. 142. 25/08/2014 142 Exemple pour charger les paramètres • var appData = Windows.Storage.ApplicationData.Current; • var localSettings = appData.LocalSettings; • if (localSettings.Values.ContainsKey("Nom")) Windows Phone 8 alphorm.com™© • { • nom.Text = localSettings.Values["Nom"].ToString(); • }
  143. 143. 25/08/2014 143 Ce qu’on a couvert • ApplicationData • Exemple de code pour sauver les paramètres • Exemple de code pour charger les paramètres Windows Phone 8 alphorm.com™© FIN
  144. 144. 25/08/2014 144 Les interactions avec le système Le stockage local Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Le stockage local
  145. 145. 25/08/2014 145 Plan • ApplicationData • Stockage « local » ou « roaming » • Stockage temporaire Windows Phone 8 alphorm.com™©
  146. 146. 25/08/2014 146 Windows.Storage.ApplicationData • Current • LocalFolder • LocalSettings • RoamingFolder Windows Phone 8 alphorm.com™© • RoamingSettings • RoamingStorageQuota • TemporaryFolder • Version
  147. 147. 25/08/2014 147 Stockage local • Propriété LocalFolder de ApplicationData • Pour des données larges • Valable pour le matériel local uniquement Windows Phone 8 alphorm.com™©
  148. 148. 25/08/2014 148 Stockage roaming • Propriété RoamingFolder de ApplicationData • Le stockage des données est synchronisé entre plusieurs matériels sur lesquels l’application est installée • Les données sont limitées en taille • On peut s’abonner à une événement DataChanged qui signale que les Windows Phone 8 alphorm.com™© • On peut s’abonner à une événement DataChanged qui signale que les données ont changé • Les données sont liées aux versions
  149. 149. 25/08/2014 149 Stockage temporaire • Propriété TemporaryFolder • Le système peut nettoyer les données • L’utilisateur peut nettoyer les données Windows Phone 8 alphorm.com™©
  150. 150. 25/08/2014 150 Ce qu’on a couvert • ApplicationData • Stockage « local » ou « roaming » • Stockage temporaire Windows Phone 8 alphorm.com™© FIN
  151. 151. 25/08/2014 151 Les interactions avec le système Les fichiers et répertoires Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les fichiers et répertoires
  152. 152. 25/08/2014 152 Plan • Généralités • Le répertoire d’installation • Les FileOpenPicker et FolderPicker • Les répertoires supplémentaires Windows Phone 8 alphorm.com™©
  153. 153. 25/08/2014 153 Généralités • Lecture et écriture asynchrone • Les méthodes asynchrones s’appellent avec « await » • Obtenir un StorageFile ou un StorageFolder StorageFile f = await sd.CreateFileAsync("data.txt", CreationCollisionOption.ReplaceExisting); Windows Phone 8 alphorm.com™© CreationCollisionOption.ReplaceExisting); • Ecrire dans un fichier await FileIO.WriteTextAsync(f, "Voici les données ..."); • Espace de nommage Windows.Storage
  154. 154. 25/08/2014 154 Les répertoires • Le répertoire d’installation StorageFolder sf = Package.Current.InstalledLocation; • Les fichiers de ce répertoire sont en lecture seule • Préfixe « ms-appx:/// » pour accéder à un fichier de ce répertoire Windows Phone 8 alphorm.com™©
  155. 155. 25/08/2014 155 FileOpenPicker et FolderPicker • FileOpenPicker, méthode PickSingleFileAndContinue • API différente entre Windows et Windows Phone • Doit être lié via OnActivated à l’application d’origine • FolderPicker, méthode PickFolderAndContinue Windows Phone 8 alphorm.com™© • …
  156. 156. 25/08/2014 156 Les répertoires supplémentaires • KnownFolders.MusicLibrary • KnownFolders.PicturesLibrary • KnownFolders.VideosLibrary • KnownFolders.HomeGroup Windows Phone 8 alphorm.com™© • …
  157. 157. 25/08/2014 157 Ce qu’on a couvert • Le répertoire d’installation • Les FileOpenPicker et FolderPicker • Les répertoires supplémentaires Windows Phone 8 alphorm.com™© FIN
  158. 158. 25/08/2014 158 Les interactions avec le système SQL Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum SQL
  159. 159. 25/08/2014 159 Plan • SQLite • Créer une base • Insérer une élément • Récupérer les infos Windows Phone 8 alphorm.com™©
  160. 160. 25/08/2014 160 SQLite • SQLite et SQLitePCL • Installés via les extensions et Nuget • Espace de nommage SQLite • SQLite s’utilise via Linq Windows Phone 8 alphorm.com™© • SQLitePCL permet d’accéder bas niveau au SQL
  161. 161. 25/08/2014 161 Créer un élément • conn = new SQLiteConnection("data.db"); • string sql = @"CREATE TABLE IF NOT EXISTS LIVRE( • Id INTEGER PRIMARY KEY AUTOINCREMENT NOt NULL, • Titre VARCHAR(100), • ISBN VARCHAR(100), Windows Phone 8 alphorm.com™© • ISBN VARCHAR(100), • Auteur VARCHAR(100));"; • using (var st = conn.Prepare(sql)) • { • st.Step(); • }
  162. 162. 25/08/2014 162 Insérer un élément • using(var l = conn.Prepare("INSERT INTO Livre(Titre,ISBN,Auteur) Values(?,?,?)") ){ • l.Bind(1,"Promenades et randonnées …"); • l.Bind(2,"2-9506274-4-7"); • l.Bind(3,"FFRP"); • l.Step(); Windows Phone 8 alphorm.com™© • }
  163. 163. 25/08/2014 163 Sélectionner • using (var st = App.conn.Prepare("SELECT * FROM Livre")) • { • var res = st.Step(); • if (SQLiteResult.ROW == res) • { Windows Phone 8 alphorm.com™© • { • Titre.Text = st[0].ToString(); • ISBN.Text = st[1].ToString(); • Auteur.Text = st[2].ToString(); • } • }
  164. 164. 25/08/2014 164 Ce qu’on a couvert • SQLite • Créer une base • Insérer un élément • Récupérer les infos Windows Phone 8 alphorm.com™© FIN
  165. 165. 25/08/2014 165 Les accès réseau Les accès au Web Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les accès au Web
  166. 166. 25/08/2014 166 Plan • HttpClient • Méthodes Delete, Get, Put, Post • HttpResponseMessage • Cookies et en-têtes HTTP Windows Phone 8 alphorm.com™©
  167. 167. 25/08/2014 167 HttpClient • Windows.Web.Http.HttpClient • Classe à instancier • Méthode GetStringAsync(uri) retourne le contenu • Ne pas oublier l’appel à Dispose Windows Phone 8 alphorm.com™©
  168. 168. 25/08/2014 168 Méthodes • GetAsync(uri) : requête GET • PostAsync(uri) : requête POST • PutAsync(uri) : requête PUT • DeleteAsync(uri) : requête DELETE Windows Phone 8 alphorm.com™© • SendRequestAsync(HttpRequestMessage) : requête générique
  169. 169. 25/08/2014 169 HttpResponseMessage • Class de Windows.Web.Http • Réponse à la requête avec en-têtes, code d’état et données • Propriétés Content Windows Phone 8 alphorm.com™© StatusCode IsSuccessStatusCode Headers Version
  170. 170. 25/08/2014 170 Cookies et en-têtes • Sur la classe HttpClient DefaultRequestHeaders Classe …Headers.HttpRequestHeadersCollection Propriétés : • UserAgent Windows Phone 8 alphorm.com™© • UserAgent • Cookies • …
  171. 171. 25/08/2014 171 Ce qu’on a couvert • HttpClient • Méthodes Delete, Get, Put, Post • HttpResponseMessage • Cookies et en-têtes HTTP Windows Phone 8 alphorm.com™© FIN
  172. 172. 25/08/2014 172 Les accès réseau Les services WCF Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les services WCF
  173. 173. 25/08/2014 173 Plan • Les services WCF • Créer un service WCF • Consommer un service Windows Phone 8 alphorm.com™©
  174. 174. 25/08/2014 174 Les services WCF • Un sur-ensemble des services distants • Sépare l’implémentation de la description du service • Souplesse accrue • Tuyauterie de présentation du service non codée Windows Phone 8 alphorm.com™©
  175. 175. 25/08/2014 175 Créer un service WCF • Un type de projet WCF • Implémentation du service dans une classe • Représentation du service par une interface • Description du service dans un fichier de configuration Windows Phone 8 alphorm.com™© • Web services : BasicHttpBinding, WsHttpBinding, WebHttpBinding
  176. 176. 25/08/2014 176 Consommer un service • Laisser VS créer un proxy pour s’occuper de la tuyauterie • Lui fournir un fichier svc • Accéder aux méthodes du proxy Windows Phone 8 alphorm.com™©
  177. 177. 25/08/2014 177 Ce qu’on a couvert • Les services WCF • Créer un service WCF • Consommer un service Windows Phone 8 alphorm.com™© FIN
  178. 178. 25/08/2014 178 Les accès réseau Les services mobiles Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les services mobiles
  179. 179. 25/08/2014 179 Plan • Le compte Azure • Définir un service mobile • Utiliser le service mobile Windows Phone 8 alphorm.com™©
  180. 180. 25/08/2014 180 Le compte Azure • Adresse azure.microsoft.com • Version d’évaluation gratuite, version payante ou compte développeur msdn Windows Phone 8 alphorm.com™©
  181. 181. 25/08/2014 181 Définir un service mobile • Fournir une url • Lier une base de données Windows Phone 8 alphorm.com™©
  182. 182. 25/08/2014 182 Utiliser un service mobile • Etablir la connexion • Accéder aux tables • Procéder avec les applications générées Windows Phone 8 alphorm.com™©
  183. 183. 25/08/2014 183 Ce qu’on a couvert • Le compte Azure • Définir un service mobile • Utiliser le service mobile Windows Phone 8 alphorm.com™© FIN
  184. 184. 25/08/2014 184 Les accès réseau Les services de notifications Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Les services de notifications Push
  185. 185. 25/08/2014 185 Plan • Les étapes • PushNotificationChannelManager • HttpNotificationChannel Windows Phone 8 alphorm.com™©
  186. 186. 25/08/2014 186 Les étapes • Enregistrer son application dans le Store • Associer sous Visual Studio le projet avec l’appli dans le Store • Dans le Windows Dev Center, visiter la page des services positionner client ID et client Secret Windows Phone 8 alphorm.com™© • Sur le service Azure, indiquer les 2 infos préalables • Mettre en place le code Dans l’application Windows Phone 8.1 Dans l’application serveur
  187. 187. 25/08/2014 187 PushNotificationChannelManager • Espace de nommage Windows.Networking.PushNotifications • Créer les objets à utiliser pour recevoir les notifications • On va les lier ensuite à une application ou à une tuile • .CreatePushNotificationChannelForApplicationAsync(); Windows Phone 8 alphorm.com™© • On enregister le PushNotificationChannel résultant
  188. 188. 25/08/2014 188 HttpNotificationChannel • Espace de nommage Miscrosoft.Phone.Notification • Propriétés ChannelName ChannelUri ConnectionStatus Windows Phone 8 alphorm.com™© ConnectionStatus IsShellTileBound IsShellToastBound
  189. 189. 25/08/2014 189 Sur le serveur • Lorsque la notification doit être faite … • Créer un WindowsPushMessage • Le construire (XML) • L’envoyer : Services.Push.SendAsync(msg) Windows Phone 8 alphorm.com™©
  190. 190. 25/08/2014 190 Détails • Les notifications peuvent être récupérées Par un toast Par une tuile • Les méthodes du manager à utiliser sont différentes Windows Phone 8 alphorm.com™©
  191. 191. 25/08/2014 191 Ce qu’on a couvert • Les étapes • PushNotificationChannelManager • HttpNotificationChannel Windows Phone 8 alphorm.com™© FIN
  192. 192. 25/08/2014 192 Les capteurs L’accéléromètre Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum L’accéléromètre
  193. 193. 25/08/2014 193 Plan • Les événements de données • Récupérer les données à intervalles réguliers • Motion, outil de synthèse des infos de mouvement Windows Phone 8 alphorm.com™©
  194. 194. 25/08/2014 194 Les événements de données • Espaces de nommage : Microsoft.Devices.Sensors • Classe Accelerometer • Testable IsSupported Windows Phone 8 alphorm.com™© • Evenement Reading • AccelerometerReading.Acceleration
  195. 195. 25/08/2014 195 Récupérer les données • AccelerometerReading • Accelerometer.GetCurrentReading() Windows Phone 8 alphorm.com™©
  196. 196. 25/08/2014 196 Motion • Créer un objet Motion • Il rassemble les informations des senseurs • Start pour le démarrer • CurrentValue ou bien CurrentValueChanged pour récupérer les données Windows Phone 8 alphorm.com™©
  197. 197. 25/08/2014 197 Ce qu’on a couvert • Les événements de données • Récupérer les données à intervalles réguliers • Motion Windows Phone 8 alphorm.com™© FIN
  198. 198. 25/08/2014 198 Les capteurs Géolocalisation Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Géolocalisation
  199. 199. 25/08/2014 199 Plan • Récupération de position • L’espace de nommage Geofencing Windows Phone 8 alphorm.com™©
  200. 200. 25/08/2014 200 Récupération de position • Windows.Devices.Geolocation • Classe Geolocator • Récupérer les données de position par événement PositionChanged Windows Phone 8 alphorm.com™© ou bien avec GetGeoPositionAsync
  201. 201. 25/08/2014 201 L’espace de nommage Geofencing • Classe Geofence • Définir une zone géographique et être averti lorsqu’on arrive dans cette zone • Enregistrer un gestionnaire d’événement en rapport avec un changement d’état Windows Phone 8 alphorm.com™© • Fournir un point géographique
  202. 202. 25/08/2014 202 Ce qu’on a couvert • Récupération de position • L’espace de nommage Geofencing Windows Phone 8 alphorm.com™© FIN
  203. 203. 25/08/2014 203 Les capteurs La caméra Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum La caméra
  204. 204. 25/08/2014 204 Plan • Classe MediaCapture • Lancer un preview • Générer une photo à partir de la caméra Windows Phone 8 alphorm.com™©
  205. 205. 25/08/2014 205 MediaCapture • Espace de nommage Windows.Media.Capture • InitializeAsync() • StartPreviewAsync() / Stop • CapturePhotoToStorageFileAsync() Windows Phone 8 alphorm.com™©
  206. 206. 25/08/2014 206 Lancer un preview • Préparer une image qui recevra la prévisualisation • Position la propriété Source comme l’objet MediaCapture • Lancer StartPreviewAsync • Pour arrêter la capture, utiliser StopPreviewAsync Windows Phone 8 alphorm.com™©
  207. 207. 25/08/2014 207 Capturer une photo • Préparer un StorageFile (créer ou s’assurer de sa présence) • Créer un encodage • Utiliser CapturePhotoToStorageFileAsync Windows Phone 8 alphorm.com™©
  208. 208. 25/08/2014 208 Ce qu’on a couvert • Classe MediaCapture • Lancer un preview • Générer une photo à partir de la caméra Windows Phone 8 alphorm.com™© FIN
  209. 209. 25/08/2014 209 Conclusion Windows Phone 8/8.1 Windows Phone 8 alphorm.com™© Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Windows Phone 8/8.1
  210. 210. 25/08/2014 210 Ce que nous avons vu … • Présentation des outils • La construction de l’application • Le déploiement de l’application • Les interfaces graphiques Windows Phone 8 alphorm.com™© • Les interactions avec le système • Les accès réseau • Les capteurs
  211. 211. 25/08/2014 211 Ne pas oublier … • Installer Visual Studio 2013, Update 2 si vous voulez travailler sous 8.1 • Travailler sur un système Windows 8 • Disposer pour vos tests réels d’un appareil Windows Phone 8.1 Windows Phone 8 alphorm.com™©

×