Xamarin Développez vos applications multiplateformes pour ios, Android et Windows

Documents pareils
Android 4 Les fondamentaux du développement d'applications Java

Point sur les solutions de développement d apps pour les périphériques mobiles

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Table des matières Introduction Démarrage Les composants graphiques... 26

Livre Blanc XAMARIN. Le développement mobile multiplateforme

Manuel de Documents. Introduction Format des fichiers lus Fonctions supplémentaires Copier et partager des fichiers...

Les fondamentaux du développement d applications Java

Formation WinDev Mobile

Table des matières. Partie I Concepts de base Préface... VII

Optimiser pour les appareils mobiles

Diffuser un contenu sur Internet : notions de base... 13

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Service de certificat

Firefox pour Android. Guide de l utilisateur. press-fr@mozilla.com

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Guide d installation

JVC CAM Control. Mode d'emploi. for Android. Français LYT A 0812YMHYH-OT

Synchroniser ses photos

Guide de l'utilisateur de l'application mobile

Chapitre 1 Retour en arrière

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Poste virtuel. Installation du client CITRIX RECEIVER

Le Web de A à Z. 1re partie : Naviguer sur le Web

Installation et prise en main

CTIconnect PRO. Guide Rapide

Séminaire Partenaires Esri France 7-8 juin Paris Les API ArcGIS pour les smartphones

SOMMAIRE. 3 Matériel et configuration requis. 4 Installation initiale du matériel EZCast Pro. 7 Fonctionnalités de l'application

Accéder à ZeCoffre via FTP

Sauvegarde Android

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

UTILISATION DU LIVRE NUMÉRIQUE

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

Sessions en ligne - QuestionPoint

LA MOBILITE : ACTEURS, OUTILS,

domovea Portier tebis

1. Mise en œuvre du Cegid Web Access Server en https

Caméra Cloud jour / nuit sans fil TV-IP751WIC (v1.0r)

SMPMKPOT=aKbKbKpK=a îéäçéééãéåí=çû^ééäáå~íáçåë= kçã~çéë=j=abbp^mm

Guide de Démarrage. Introduction... 2 Scénarios pour l utilisation de votre procloud@ocim.ch... 2 Scénarios à venir :... 2

Sage CRM. Sage CRM 7.3 Guide du portable

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

TD/TP 1 Introduction au SDK d Android

Manual de l utilisateur

Productivité Performance Mobilité

Tutoriel Team-Space. by DSwiss AG, Zurich, Switzerland V

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

Guide d utilisation Wisio

Guide utilisation SFR Sync. SFR Business Team - Présentation

Seafile, pour simplifier l'accès à ses fichiers, les partager et les synchroniser

VIDEO RECORDING Accès à distance

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

mygvcloud Guide de démarrage rapide

NovoSIP manuel de mise en service

Dropbox : démarrage rapide

HYPERDRIVE iusbport Guide d utilisation

Déploiement des manuels numériques sur tablette. Mode d emploi intégrateur / administrateur

Windows Phone conçu pour les entreprises.

Architectures web/bases de données

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

TP architecture N-tiers en Java EE ou Java EE, Android : la synthèse. Le serveur GereCompteBancaireServlet

Environnements de développement (intégrés)

CALENDRIERS DES FORMATIONS LILLE

Devenez un véritable développeur web en 3 mois!

Twixl Portfolio DE INDESIGN VERS LES TABLETTES. Luk Dhondt - Product Manager

Guide d utilisation. Version 1.1

Gestion des documents associés

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Foire aux questions sur Christie Brio

Hébergée dans le cloud, notre solution est un logiciel-service (SaaS) entièrement géré par NUXIT :

LES TABLETTES : GÉNÉRALITÉS

Présentation de l application Smartphone «Risques Nice»

TA/UTAX Mobile Print L impression mobile TA Triumph Adler pour Androïd et ios

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Module BD et sites WEB

26 Centre de Sécurité et de

Android,iOS,W indow s Phone 8 :

Genesys Meeting Center Guide Utilisateurs

FLUX POPCLUSTER PROCÉDURE D INSTALLATION ET D UTILISATION

SYSTÈME DE SURVEILLANCE VIDÉO À DISTANCE

Guide d utilisation de Seagate Central

AngularJS pour une application d'entreprise

SYSTÈME DE SURVEILLANCE VIDÉO À DISTANCE

WINDOWS Remote Desktop & Application publishing facile!

Edutab. gestion centralisée de tablettes Android

Premiers pas avec NetSupport SCHOOL

Gestion Electronique d'informations et de Documents pour l'entreprise

Spétechs Mobile. Octobre 2013

SP-1101W/SP-2101W Quick Installation Guide

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Office Pro Plus. Procédures d installation. Direction des Systèmes d Information Grenoble Ecole de Management. Date de publication Juin 2014

AwoX StriimLIGHT WiFi Color

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

Product positioning. Caméra Cloud d'extérieur PoE HD DCS-2310L/ Caméra Cloud HD sans fil d'extérieur DCS-2332L

Accélérez votre émulateur Android

1. Généralités Certifications Ouverture du carton Contenu de la boîte... 3

Transcription:

Avant-propos 1. Pourquoi ce livre? 19 2. À qui s adresse cet ouvrage? 20 3. Remerciements 21 Introduction 1. Qu est-ce que la plateforme Xamarin? 23 1.1 L environnement.net sur ios et Android 23 1.2 Un accès à toutes les API natives 24 2. Installer Xamarin 24 2.1 Commencer avec Xamarin pour ios 25 2.1.1 Créer un compte développeur Apple Store 25 2.1.2 Enregistrer son iphone 25 2.2 Commencer avec Xamarin pour Android 26 2.2.1 Créer son compte développeur Google Play 26 2.2.2 Télécharger les émulateurs Android 27 2.3 Commencer avec Xamarin pour Windows 29 2.3.1 Créer son compte développeur Windows Store 29 2.3.2 Télécharger les émulateurs Windows Phone 29 3. Conclusion 30 Configurer vos environnements de développement 1. Introduction 31 1/18

2. Configuration pour ios 31 2.1 Configuration du Mac 31 2.2 Intégration avec Visual Studio 33 2.3 Ajout d'émulateurs 35 3. Configuration pour Android 37 3.1 Intégration avec Visual Studio 37 3.2 Les émulateurs 38 3.3 Android SDK Manager 38 4. Configuration pour UWP 40 4.1 Installation de Visual Studio 40 4.2 Mise à jour de Visual Studio 42 4.3 Version de Xamarin installée 43 4.4 SDK Windows 10 43 5. Conclusion 44 Modèle de compilation 1. Introduction 45 2. Comment Xamarin crée-t-il des exécutables multiplateformes? 45 2.1 ios et Android 45 2.1.1 Spécificité ios 45 2.1.2 Spécificité Android 46 2.1.3 Activer LLVM 46 2.1.4 Choisir l implémentation de HttpClient 47 2.2 UWP 49 2.3 Différence entre Debug et Release 50 3. Le Linker 51 2/18

3.1 ios et Android 51 3.1.1 Configurer son Linker 51 3.1.2 Guider le compilateur Xamarin.iOS et Xamarin.Android 52 3.1.3 Utiliser un fichier de configuration 52 3.2 UWP 53 4. Conclusion 54 Mutualisation de code 1. Introduction 55 2. Quelles sont les possibilités pour partager son code en Xamarin? 55 2.1 Présentation 55 2.2 SharedProject 56 2.2.1 Présentation 56 2.2.2 Avantage 56 2.2.3 Inconvénients 56 2.2.4 Création d'un SharedProject 57 2.2.5 Directive préprocesseur 57 2.3 Portable Class Library 59 2.3.1 Présentation 59 2.3.2 Avantages 59 2.3.3 Inconvénients 60 2.3.4 Création d'une PCL 60 3. Injection de dépendance 61 3.1 Présentation 61 3.2 Mise en place 61 3.2.1 Création de l'interface 62 3.2.2 Implémentation 62 3.2.3 La classe Locator 63 3.2.4 Utilisation 65 3/18

4. MVVM 66 4.1 Présentation 66 4.2 Avantages 66 4.3 Outillage 67 4.4 MvvmCross 67 4.4.1 Présentation 67 4.4.2 Intégration de MvvmCross dans Windows, Android et ios 68 4.5 MVVM Light 68 4.5.1 Présentation 68 4.5.2 Intégration de MVVM Light dans Windows, Android et ios 68 5. Conclusion 69 Les tests 1. Introduction 71 2. Tests unitaires 72 3. Créer des tests unitaires avec NUnit 73 3.1 Créer un projet NUnit 73 3.2 Créer une classe de Test 74 3.2.1 Les méthodes de la classe Assert 75 3.3 Afficher le résultat des tests 76 4. Xamarin Test Cloud 77 5. Conclusion 79 Système de fichiers et paramètres 4/18

1. Introduction 81 2. Accès aux fichiers 81 2.1 ios 82 2.1.1 Présentation 82 2.1.2 Répertoires d'application 82 2.1.3 Lire et écrire dans les répertoires d'application 83 2.2 Android 85 2.2.1 Présentation 85 2.2.2 Récupération des emplacements de stockage 86 2.2.3 Permissions 87 2.2.4 Manipulation des fichiers et dossiers 88 2.3 Windows 10 89 2.3.1 Présentation 89 2.3.2 Dossiers et fichiers d'application 90 2.3.3 Dossiers et fichiers auxquels les applications ont accès 92 2.4 Code multiplateforme 93 2.4.1 PCL Storage 93 2.4.2 Ressources embarquées 97 3. Paramètres utilisateur 99 3.1 ios 99 3.1.1 Présentation 99 3.1.2 Sauvegarde des préférences 99 3.1.3 Récupération des préférences 100 3.2 Android 100 3.2.1 Présentation 100 3.2.2 Sauvegarde des préférences 101 3.2.3 Récupération des préférences 102 3.3 Windows 10 102 3.3.1 Présentation 102 3.3.2 Local Settings 103 3.3.3 Roaming Settings 104 3.3.4 Donnée composite 105 5/18

3.3.5 Les conteneurs 105 3.3.6 Notifications sur les changements de données en itinérance 106 3.4 Code multiplateforme 107 3.4.1 Settings Plugin 107 3.4.2 Créer la classe statique Settings 107 4. Conclusion 108 Utiliser une base de données 1. Introduction 109 2. SQLite 109 2.1 Plug-in SQLite 110 2.2 Classe de données 111 2.2.1 PrimaryKey 111 2.2.2 AutoIncrement 111 2.2.3 Autres attributs 112 2.2.4 Type de données 112 2.3 Service d accès aux données 112 2.3.1 DataItemRepository 114 2.3.2 Repository : initialisation 114 2.3.3 DataService : accès aux données 115 2.4 Implémentation SQLite 116 2.4.1 ios 117 2.4.2 Android 118 2.4.3 Windows 10 120 3. Conclusion 123 Consommer des webservices 6/18

1. Introduction 125 1.1 Verbes HTTP 125 1.2 Création de requêtes 126 1.2.1 API 126 1.2.2 Création de requêtes 126 1.2.3 Headers 128 1.2.4 Contenu de requête 128 1.3 Réponses 129 1.3.1 Statut de réponse 129 1.3.2 Lecture de la réponse 130 1.4 Format JSON 131 1.4.1 Présentation 131 1.4.2 Création dynamique des classes 131 1.4.3 Déserialisation 132 2. Conclusion 133 Cycle de vie 1. Introduction 135 2. Cycle de vie 136 2.1 ios 136 2.1.1 Introduction 136 2.1.2 Les différents états d une application 136 2.1.3 Les méthodes du cycle de vie d une application 137 2.1.4 Les différents états d un UIViewController 140 2.1.5 Les méthodes du cycle de vie d un UIViewController 140 2.2 Android 142 2.2.1 Introduction 142 2.2.2 Les différents états d une activité 144 2.2.3 Les méthodes du cycle de vie 144 2.2.4 Les changements de configuration 148 7/18

2.3 UWP 149 2.3.1 Introduction 149 2.3.2 Les différents états d une application 149 2.3.3 Les principaux évènements du cycle de vie 150 3. Conclusion 153 Navigation 1. Introduction 155 2. La navigation 156 2.1 ios 156 2.1.1 Présentation 156 2.1.2 Navigation simple 156 2.1.3 Gestion via storyboard 159 2.1.4 Navigation sans storyboard 162 2.1.5 Navigation avec storyboard 163 2.1.6 Passage de données entre UIViewController 164 2.1.7 Persistance des données 166 2.1.8 Enregistrement de l état 168 2.2 Android 169 2.2.1 Présentation 169 2.2.2 Définition d'une activité 169 2.2.3 Navigation vers une autre activité 171 2.2.4 Passage de données entre activités 171 2.2.5 Exemple de navigation 172 2.2.6 Persistance des données 175 2.3 UWP 179 2.3.1 Présentation 179 2.3.2 La Frame 179 2.3.3 Définition d'une page 180 2.3.4 Navigation vers une autre page 180 2.3.5 Passage de données entre pages 181 8/18

2.3.6 Exemple de navigation 182 2.3.7 Persistance des données 185 3. Conclusion 186 Mise en page 1. Introduction 187 2. Structure d'une vue 188 2.1 ios 188 2.2 Android 189 2.3 UWP 190 3. Mise en place d'une vue 190 3.1 ios 190 3.1.1 Via fichier.xib 190 3.1.2 Via C# 195 3.2 Android 196 3.2.1 Via AXML 196 3.2.2 Via C# 198 3.3 UWP 199 3.3.1 Via XAML 199 3.3.2 Via C# 201 4. Système de mise en page 201 4.1 ios 201 4.1.1 Présentation 201 4.1.2 Frame-Based Layout 202 4.1.3 Auto Layout 204 4.2 Android 207 4.2.1 Présentation 207 4.2.2 LinearLayout 207 9/18

4.2.3 RelativeLayout 211 4.2.4 TableLayout 216 4.3 UWP 221 4.3.1 Présentation 221 4.3.2 Canvas 221 4.3.3 StackPanel 222 4.3.4 Grid 223 5. Conclusion 227 Les formulaires 1. Introduction 229 2. Les libellés 229 2.1 ios 229 2.2 Android 233 2.3 Windows 10 237 3. Saisir un texte, un nombre 240 3.1 ios 240 3.2 Android 246 3.3 Windows 10 248 4. Les boutons 251 4.1 ios 251 4.2 Android 254 4.3 Windows 10 256 5. Les cases à cocher 259 5.1 ios 259 5.2 Android 261 5.3 Windows 10 263 10/18

6. Curseur 265 6.1 ios 265 6.2 Android 266 6.3 Windows 10 269 7. Afficher un chargement 271 7.1 ios 271 7.2 Android 273 7.3 Windows 10 274 8. Afficher des alertes 276 8.1 ios 276 8.2 Android 281 8.3 Windows 10 284 9. Utiliser une police personnalisée 285 9.1 ios 285 9.2 Android 287 9.3 Windows 10 288 10. Conclusion 289 Mise en forme des données 1. Introduction 291 2. Lier la vue aux données 291 2.1 ios et Android 291 2.2 UWP 292 2.2.1 Lier une donnée à un contrôle 292 11/18

3. Créer une liste 294 3.1 ios 294 3.1.1 Présentation 294 3.1.2 Créer une source de données 295 3.1.3 Désactiver le séparateur de cellule 297 3.1.4 Définir la hauteur des cellules 297 3.1.5 Gérer la sélection d'une cellule 298 3.1.6 Désactiver la sélection d'une cellule 298 3.1.7 Ajouter des actions au swipe 299 3.1.8 Pull To Refresh 300 3.1.9 Endless Scrolling 301 3.2 Android 306 3.2.1 Présentation 306 3.2.2 Les attributs 306 3.2.3 Les adaptateurs 307 3.2.4 Pull To Refresh 314 3.2.5 Endless Scrolling 317 3.2.6 Listener 321 3.3 UWP 325 3.3.1 Présentation 325 3.3.2 Les attributs 325 3.3.3 Endless Scrolling 330 3.3.4 Implémentation générique 331 3.3.5 Utilisation d'une liste à chargement incrémentiel 332 4. Conclusion 334 Gestion des médias 1. Introduction 335 2. Afficher une image 335 2.1 ios 335 12/18

2.1.1 Présentation 335 2.1.2 Charger une image 336 2.1.3 Afficher une image 344 2.1.4 Sauvegarder une image 345 2.2 Android 347 2.2.1 Présentation 347 2.2.2 Afficher une image 348 2.2.3 Sauvegarder une image 354 2.3 Windows 10 355 2.3.1 Présentation 355 2.3.2 Afficher une image 355 2.3.3 Sauvegarder une image 359 3. Lire un fichier audio 360 3.1 ios 361 3.1.1 Charger un fichier audio 361 3.1.2 Lire une musique 362 3.1.3 Libérer les ressources du lecteur audio 363 3.1.4 Augmenter/baisser le volume de la musique 363 3.1.5 Jouer un son court (bruitage) 364 3.1.6 Exemple complet 365 3.2 Android 374 3.2.1 Introduction 374 3.2.2 Utilisation du MediaPlayer 374 3.3 Windows 10 376 3.3.1 Lire un contenu multimédia 376 3.3.2 Lire un contenu vidéo dans un contrôle XAML 376 3.3.3 Intégration avec le System Media Transport Controls (SMTC) 377 3.3.4 Lire un contenu multimédia en arrière-plan 378 3.3.5 Ajuster le volume d'un contenu multimédia 379 4. Enregistrer un son 379 4.1 ios 379 4.1.1 Autoriser l'application à accéder au microphone 379 4.1.2 Définir le profil d'enregistrement 381 13/18

4.1.3 Commencer l'enregistrement 382 4.1.4 Terminer l'enregistrement 383 4.1.5 Exemple complet 384 4.2 Android 389 4.2.1 Introduction 389 4.2.2 Autoriser l'application à accéder au microphone 389 4.2.3 Choisir le microphone 390 4.2.4 Créer le fichier cible 390 4.2.5 Définir le profil d'enregistrement 390 4.2.6 Commencer l'enregistrement 390 4.2.7 Terminer l'enregistrement 391 4.3 Windows 10 391 4.3.1 Autoriser l'application à accéder au microphone 391 4.3.2 Choisir le microphone 392 4.3.3 Créer le Graph audio 393 4.3.4 Définir le profil d'encodage 393 4.3.5 Créer le fichier cible 394 4.3.6 Commencer l'enregistrement 395 4.3.7 Terminer l'enregistrement 396 5. Afficher des vidéos 396 5.1 ios 396 5.1.1 Créer le lecteur vidéo 396 5.1.2 Lire une vidéo 398 5.1.3 Mettre pause 398 5.1.4 Augmenter/baisser le volume audio 398 5.1.5 Désactiver les boutons 398 5.2 Android 399 5.2.1 Créer le lecteur vidéo 399 5.2.2 Lire une vidéo 399 5.2.3 Arrêter une vidéo 400 5.3 Windows 10 400 5.3.1 Créer le lecteur vidéo 400 5.3.2 Lire un contenu vidéo dans un contrôle XAML 401 5.3.3 Maintenir l'écran allumé 401 5.3.4 Déterminer si le contenu est de la vidéo 402 14/18

5.3.5 Redimensionner une vidéo 402 6. Conclusion 402 WebView 1. Introduction 403 2. Le contrôle WebView 403 2.1 ios 403 2.2 Android 404 2.3 UWP 405 3. Navigation vers une page externe 405 3.1 ios 405 3.1.1 Affichage d'une URL HTTPS 405 3.1.2 Affichage d'une URL HTTP 406 3.1.3 ScalePageToFit 409 3.2 Android 410 3.3 Windows 411 4. Navigation vers une page interne 412 4.1 ios 412 4.1.1 Ajout du fichier HTML dans l application 412 4.1.2 Navigation vers le fichier local 413 4.2 Android 413 4.2.1 Ajout du fichier HTML dans l application 413 4.2.2 Navigation vers le fichier local 414 4.3 Windows 414 5. Navigation vers du contenu HTML brut 417 5.1 ios 417 5.1.1 Navigation vers une chaîne de caractères 417 15/18

5.1.2 Navigation vers une chaîne de caractères qui utilise un contenu embarqué dans l application 417 5.2 Android 418 5.2.1 Navigation vers une chaîne de caractères 418 5.2.2 Navigation vers une chaîne de caractères qui utilise un contenu embarqué dans l application 418 5.3 Windows 419 5.3.1 Navigation vers une chaîne de caractères 419 5.3.2 Navigation vers une chaîne de caractères qui utilise un contenu embarqué dans l application 419 6. Évènements de navigation 419 6.1 ios 420 6.2 Android 421 6.3 Windows 424 6.3.1 Évènements disponibles 424 6.3.2 Navigation par protocole 425 7. Communication avec la WebView et le code-behind 426 7.1 ios 426 7.1.1 Appeler du code JavaScript depuis le code C# 426 7.1.2 Appeler du code C# depuis le code JavaScript 428 7.2 Android 430 7.2.1 Appeler du code JavaScript depuis le code C# 430 7.2.2 Appeler du code C# depuis le code JavaScript 431 7.3 Windows 432 7.3.1 Appeler du code JavaScript depuis le code C# 432 7.3.2 Appeler du code C# depuis le code JavaScript 434 8. Conclusion 435 Cartes 16/18

1. Introduction 437 2. Autoriser la localisation 437 3. Utiliser une application de carte existante 438 3.1 ios 438 3.1.1 Présentation 438 3.1.2 Carte standard lancée par une URL 438 3.2 Android 441 3.2.1 Présentation 441 3.2.2 Carte standard 441 3.2.3 StreetView 442 3.3 Windows 10 442 3.4 Code multiplateforme 443 3.4.1 Présentation 443 3.4.2 Installation du plug-in de l'application 444 3.4.3 Lancement de l'application 444 4. Ajouter un contrôle de carte 445 4.1 ios 445 4.1.1 Présentation 445 4.1.2 Contrôle 445 4.1.3 Centrage 446 4.1.4 Affichage de la position de l'utilisateur 447 4.1.5 Zoom 448 4.1.6 Points d'intérêt 448 4.2 Android 449 4.2.1 Présentation 449 4.2.2 Prérequis 449 4.2.3 Permissions 452 4.2.4 Contrôle 453 4.2.5 Centrage 454 4.2.6 Affichage de la position de l'utilisateur 454 4.2.7 Zoom 456 17/18

4.2.8 Points d'intérêt 457 4.3 Windows 10 460 4.3.1 Présentation 460 4.3.2 Contrôle 460 4.3.3 Centrage 461 4.3.4 Récupération de la position de l'utilisateur 462 4.3.5 Zoom 464 4.3.6 Points d'intérêt 464 18/18