SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Atelier WP7
Initiation au
développement
Windows Phone 7
Sommaire
 Présentation des outils
 Prise en main des outils
 Premier projet Windows Phone
 Accès aux API Windows Phone
 Géolocalisation sous Windows Phone
 Silverlight for Windows Phone Toolkit
 Test et publication de l’application
Atelier Windows Phone
2 API
Atelier Windows Phone
Silverlight 4.0
Réalisation d’applications
XNA 4.0
Réalisation de jeux
Présentation des outils
Atelier Windows Phone
DESIGN
(Langage XAML)
Expression Blend 4
CODE
(Langage C#)
Visual Studio 2010
Installer les outils
Atelier Windows Phone
Visual Studio 2010 Ultimate
(MSDNAA)
Expression Studio 4
(MSDNAA)
Visual Studio SP1
(Gratuit)
SDK Windows Phone 7.1
(Gratuit)
SDK Windows Phone 7.1
(Gratuit)
Installe:
Visual Studio 2010 Express
Expression Blend 4 for WP7
Vous avez MSDNAA Vous n’avez pas MSDNAA
Vous avez la flemme…
Pourquoi 2 langages ?
 XAML pour l’interface et les animations
 Basé sur XML, ressemble au HTML
 C# pour le code fonctionnel
 Programmation objet
 Utilisation du framework .NET
Atelier Windows Phone
Premier projet Windows Phone
 Utilisation de Visual Studio
 Création du projet
 Ecriture du code fonctionnel
 Utilisation d’Expression Blend
 Création de l’interface
 Insertion des contrôles dans la page
 Création des animations
Atelier Windows Phone
using Microsoft.Phones.Tasks;
SMSComposeTask sct = new SMSComposeTask ();
sct.To = « Numéro du destinataire »;
sct.Body = « Texte de votre message »;
sct.Show();
EmailComposeTask ect = new EmailComposeTask ();
ect.To = « Adresse du destinataire »;
ect.Subject = « L’objet du message »;
ect.Cc = « Copie à un ou plusieurs destinataires »;
ect.Body = « Texte de votre message »;
ect.Show();
Atelier Windows Phone
API: Ecrire un SMS ou un email
using Microsoft.Phones.Tasks;
// Partager un statut
ShareStatusTask sst = new ShareStatusTask ();
sst.Status = « Nouveau statut »;
sst.Show();
// Partager un lien
ShareLinkTask slt = new ShareLinkTask ();
sst.LinkUri = new Uri(« http://www.epsilab.net »);
sst.Title = « Titre du lien »;
sst.Message = « Texte accompagnant le lien »;
sst.Show();
Atelier Windows Phone
API: Partage sur les réseaux sociaux
using Microsoft.Phones.Tasks;
SaveContactTask sct = new SaveContactTask ();
sct.LastName = « Ballmer »;
sct.FirstName = « Steve »;
sct.MobilePhone = « 0102030405 »;
sct.WorkEmail = « steve.ballmer@microsoft.com »;
…
sct.Show();
Atelier Windows Phone
API: Ajout d’un contact
using Microsoft.Phones.Tasks;
// Appel de l’API en asynchrone
public void main()
{
PhoneNumberChooserTask chooser = new PhoneNumberChooserTask ();
chooser.Completed += new EventHandler <PhoneNumberResult>
chooser.Show(); // Mettre dans un TRY CATCH
}
// Récupération du résultat
public void chooser_Completed(object sender, PhoneNumberResult e)
{
if (e.TaskResult == TaskResult.OK)
{
MessageBox.Show(“Numéro de " + e.DisplayName + “: " + e.PhoneNumber);
}
}
Atelier Windows Phone
API: Obtenir le numéro d’un contact
using Microsoft.Phones.Tasks;
// Appel de l’API en asynchrone
public void main()
{
EmailAdressChooserTask chooser = new EmailAdressChooserTask ();
chooser.Completed += new EventHandler <EmailResult>
chooser.Show(); // Mettre dans un TRY CATCH
}
// Récupération du résultat
public void chooser_Completed(object sender, EmailResult e)
{
if (e.TaskResult == TaskResult.OK)
{
MessageBox.Show(“Email de " + e.DisplayName + “: " + e.Email);
}
}
Atelier Windows Phone
API: Obtenir l’email d’un contact
using Microsoft.Phones.Tasks;
PhoneCallTask pct = new PhoneCallTask ();
pct.PhoneNumber = « 0102030405 »;
pct.DisplayName = « Steve Ballmer »;
pct.Show();
Atelier Windows Phone
API: Passer un appel
using Microsoft.Phones.Tasks;
// Appel de l’API en asynchrone
public void main()
{
CameraCaptureTask chooser = new CameraCaptureTask ();
chooser.Completed += new EventHandler <PhotoResult>
chooser.Show(); // Mettre dans un TRY CATCH
}
// Récupération du résultat
public void chooser_Completed(object sender, PhotoResult e)
{
if (e.TaskResult == TaskResult.OK)
{
monImage.Source = e.ChosenPhoto;
}
}
Atelier Windows Phone
API: Accès appareil photo
using Microsoft.Phones.Tasks;
WebBrowserTask wbt = new WebBrowserTask ();
wbt.Uri = new Uri(« http://www.epsilab.net »);
wbt.Show();
Atelier Windows Phone
API: Lancer une page Web
using Microsoft.Phones.Tasks;
BingMapsTask bmt = new BingMapsTask ();
bmt.SearchTerm = « EPSI Arras, 23-25 rue du dépôt »;
bmt.Center = new GeoCoordinate();
bmt.ZoomLevel = 5.0;
bmt.Show();
Atelier Windows Phone
API: Recherche Bing Maps
API: Gérer les connexions du tel
using Microsoft.Phones.Tasks;
ConnectionSettingsTask cst = new ConnectionSettingsTask ();
cst.ConnectionSettingsType = ConnectionSettingsType.Wifi;
cst.ConnectionSettingsType = ConnectionSettingsType.Bluetooth;
cst.ConnectionSettingsType = ConnectionSettingsType.Cellular;
cst.ConnectionSettingsType = ConnectionSettingsType.AirplaneMode;
cst.Show();
Atelier Windows Phone
Silverlight for Windows Phone Toolkit
 Des contrôles en plus, des API en plus
 Et tout ça gratuit !
 http://silverlight.codeplex.com/
Atelier Windows Phone
Test et publication de l’application
 Avoir un compte sur le Marketplace
 Se faire valider en tant qu’étudiant auprès de Dreamspark
www.dreamspark.com
 Créer son compte sur l’App Hub developer.windowsphone.com
 Test et envoi de l’application
 Test avec le Marketplace Kit dans VS2010
 Envoi de l’application
Atelier Windows Phone

Contenu connexe

Tendances

ASP.NET from Zero to Hero
ASP.NET from Zero to HeroASP.NET from Zero to Hero
ASP.NET from Zero to HeroCellenza
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkMicrosoft
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .NetGregory Renard
 
Wygday2010 - silverlight 4 & wpf 4
Wygday2010 -  silverlight 4 & wpf 4Wygday2010 -  silverlight 4 & wpf 4
Wygday2010 - silverlight 4 & wpf 4Wygwam
 
Visual Studio 2013
Visual Studio 2013Visual Studio 2013
Visual Studio 2013Microsoft
 
Formation C# - Cours 1 - Introduction, premiers pas, concepts
Formation C# - Cours 1 - Introduction, premiers pas, conceptsFormation C# - Cours 1 - Introduction, premiers pas, concepts
Formation C# - Cours 1 - Introduction, premiers pas, conceptskemenaran
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2Microsoft
 
Javascript pour les développeurs C#
Javascript pour les développeurs C#Javascript pour les développeurs C#
Javascript pour les développeurs C#Microsoft
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC Cellenza
 
Techdays Visual Studio 2010
Techdays Visual Studio 2010Techdays Visual Studio 2010
Techdays Visual Studio 2010Gregory Renard
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4CERTyou Formation
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA Cellenza
 
Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5Microsoft
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv PsGregory Renard
 
Keynote Azure
Keynote AzureKeynote Azure
Keynote AzureMicrosoft
 

Tendances (20)

ASP.NET from Zero to Hero
ASP.NET from Zero to HeroASP.NET from Zero to Hero
ASP.NET from Zero to Hero
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity Framework
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .Net
 
Wygday2010 - silverlight 4 & wpf 4
Wygday2010 -  silverlight 4 & wpf 4Wygday2010 -  silverlight 4 & wpf 4
Wygday2010 - silverlight 4 & wpf 4
 
Visual Studio 2013
Visual Studio 2013Visual Studio 2013
Visual Studio 2013
 
Formation C# - Cours 1 - Introduction, premiers pas, concepts
Formation C# - Cours 1 - Introduction, premiers pas, conceptsFormation C# - Cours 1 - Introduction, premiers pas, concepts
Formation C# - Cours 1 - Introduction, premiers pas, concepts
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web API 2
 
Javascript pour les développeurs C#
Javascript pour les développeurs C#Javascript pour les développeurs C#
Javascript pour les développeurs C#
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
Techdays Visual Studio 2010
Techdays Visual Studio 2010Techdays Visual Studio 2010
Techdays Visual Studio 2010
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA
 
Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5Introduction au développement Windows 8 avec XAML et .NET 4.5
Introduction au développement Windows 8 avec XAML et .NET 4.5
 
Visual studio 2012
Visual studio 2012Visual studio 2012
Visual studio 2012
 
Node.js
Node.jsNode.js
Node.js
 
Asp Au Service Des Mv Ps
Asp Au Service Des Mv PsAsp Au Service Des Mv Ps
Asp Au Service Des Mv Ps
 
Keynote Azure
Keynote AzureKeynote Azure
Keynote Azure
 

En vedette

Relato autobiografico - Andrés Palpati
Relato autobiografico - Andrés PalpatiRelato autobiografico - Andrés Palpati
Relato autobiografico - Andrés PalpatiAndrés Palpati
 
Unidad iv. equipo delta
Unidad iv. equipo deltaUnidad iv. equipo delta
Unidad iv. equipo deltaadsinformacion
 
Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015Bastian Burke
 
Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2guesta858ba
 
[Unfv 2011]sistemas - inv mercado parte 1
[Unfv   2011]sistemas - inv mercado parte 1[Unfv   2011]sistemas - inv mercado parte 1
[Unfv 2011]sistemas - inv mercado parte 1Erick Otaku
 
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...CPV
 
O2PM Presentation
O2PM PresentationO2PM Presentation
O2PM PresentationMidMos
 
Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Arnold Rudorfer
 
Que es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la esoQue es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la esojalelio10
 

En vedette (20)

Langage C#
Langage C#Langage C#
Langage C#
 
Pattern MVVM avec MVVM Light Toolkit
Pattern MVVM avec MVVM Light ToolkitPattern MVVM avec MVVM Light Toolkit
Pattern MVVM avec MVVM Light Toolkit
 
Compte-rendu Agile Tour 2014 à Lille
Compte-rendu Agile Tour 2014 à LilleCompte-rendu Agile Tour 2014 à Lille
Compte-rendu Agile Tour 2014 à Lille
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
Relato autobiografico - Andrés Palpati
Relato autobiografico - Andrés PalpatiRelato autobiografico - Andrés Palpati
Relato autobiografico - Andrés Palpati
 
Unidad iv. equipo delta
Unidad iv. equipo deltaUnidad iv. equipo delta
Unidad iv. equipo delta
 
Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015Nayax Bildschirm-Präsentation 2015
Nayax Bildschirm-Präsentation 2015
 
TAMMY RESUME 2
TAMMY RESUME 2TAMMY RESUME 2
TAMMY RESUME 2
 
Renz resume
Renz resumeRenz resume
Renz resume
 
Uam6874
Uam6874Uam6874
Uam6874
 
Formato hoja vida (1)
Formato hoja vida (1)Formato hoja vida (1)
Formato hoja vida (1)
 
Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2Uni Training Singapore 07 08 V2
Uni Training Singapore 07 08 V2
 
Medio ambiente
Medio ambienteMedio ambiente
Medio ambiente
 
[Unfv 2011]sistemas - inv mercado parte 1
[Unfv   2011]sistemas - inv mercado parte 1[Unfv   2011]sistemas - inv mercado parte 1
[Unfv 2011]sistemas - inv mercado parte 1
 
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO.  HECHOS 10:1-27. (HCH. N...
ESCRITO ESTA EN ACCIÓN. LA VIDA DE CORNELIO Y PEDRO. HECHOS 10:1-27. (HCH. N...
 
O2PM Presentation
O2PM PresentationO2PM Presentation
O2PM Presentation
 
Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3
 
Post Bariatric Surgery Diet Guidelines
Post Bariatric Surgery Diet Guidelines Post Bariatric Surgery Diet Guidelines
Post Bariatric Surgery Diet Guidelines
 
Pei conalco-2010
Pei conalco-2010Pei conalco-2010
Pei conalco-2010
 
Que es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la esoQue es la fp libro para el alumnado de la eso
Que es la fp libro para el alumnado de la eso
 

Similaire à Atelier initiation Windows Phone 7

Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Fred Brunel
 
Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorArthurMaroulier
 
Conception émergente
Conception émergenteConception émergente
Conception émergenteazeau
 
Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Farouk Mezghich
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Patrick Guimonet
 
Comment écrire du code testable ?
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?Fou Cha
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia Sfaxi
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open doorLeTesteur
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de donnéesISIG
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de donnéesISIG
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application javaAntoine Rey
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonyVincent Composieux
 
Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Jean-Sébastien Dupuy
 

Similaire à Atelier initiation Windows Phone 7 (20)

Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
 
Tuto bada
Tuto badaTuto bada
Tuto bada
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme Meteor
 
Conception émergente
Conception émergenteConception émergente
Conception émergente
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0
 
Comment écrire du code testable ?
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
 
.NET DotNet CF - 1
.NET DotNet CF - 1.NET DotNet CF - 1
.NET DotNet CF - 1
 
5.ateliers avancés
5.ateliers avancés5.ateliers avancés
5.ateliers avancés
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8
 

Atelier initiation Windows Phone 7

  • 2. Sommaire  Présentation des outils  Prise en main des outils  Premier projet Windows Phone  Accès aux API Windows Phone  Géolocalisation sous Windows Phone  Silverlight for Windows Phone Toolkit  Test et publication de l’application Atelier Windows Phone
  • 3. 2 API Atelier Windows Phone Silverlight 4.0 Réalisation d’applications XNA 4.0 Réalisation de jeux
  • 4. Présentation des outils Atelier Windows Phone DESIGN (Langage XAML) Expression Blend 4 CODE (Langage C#) Visual Studio 2010
  • 5. Installer les outils Atelier Windows Phone Visual Studio 2010 Ultimate (MSDNAA) Expression Studio 4 (MSDNAA) Visual Studio SP1 (Gratuit) SDK Windows Phone 7.1 (Gratuit) SDK Windows Phone 7.1 (Gratuit) Installe: Visual Studio 2010 Express Expression Blend 4 for WP7 Vous avez MSDNAA Vous n’avez pas MSDNAA Vous avez la flemme…
  • 6. Pourquoi 2 langages ?  XAML pour l’interface et les animations  Basé sur XML, ressemble au HTML  C# pour le code fonctionnel  Programmation objet  Utilisation du framework .NET Atelier Windows Phone
  • 7. Premier projet Windows Phone  Utilisation de Visual Studio  Création du projet  Ecriture du code fonctionnel  Utilisation d’Expression Blend  Création de l’interface  Insertion des contrôles dans la page  Création des animations Atelier Windows Phone
  • 8. using Microsoft.Phones.Tasks; SMSComposeTask sct = new SMSComposeTask (); sct.To = « Numéro du destinataire »; sct.Body = « Texte de votre message »; sct.Show(); EmailComposeTask ect = new EmailComposeTask (); ect.To = « Adresse du destinataire »; ect.Subject = « L’objet du message »; ect.Cc = « Copie à un ou plusieurs destinataires »; ect.Body = « Texte de votre message »; ect.Show(); Atelier Windows Phone API: Ecrire un SMS ou un email
  • 9. using Microsoft.Phones.Tasks; // Partager un statut ShareStatusTask sst = new ShareStatusTask (); sst.Status = « Nouveau statut »; sst.Show(); // Partager un lien ShareLinkTask slt = new ShareLinkTask (); sst.LinkUri = new Uri(« http://www.epsilab.net »); sst.Title = « Titre du lien »; sst.Message = « Texte accompagnant le lien »; sst.Show(); Atelier Windows Phone API: Partage sur les réseaux sociaux
  • 10. using Microsoft.Phones.Tasks; SaveContactTask sct = new SaveContactTask (); sct.LastName = « Ballmer »; sct.FirstName = « Steve »; sct.MobilePhone = « 0102030405 »; sct.WorkEmail = « steve.ballmer@microsoft.com »; … sct.Show(); Atelier Windows Phone API: Ajout d’un contact
  • 11. using Microsoft.Phones.Tasks; // Appel de l’API en asynchrone public void main() { PhoneNumberChooserTask chooser = new PhoneNumberChooserTask (); chooser.Completed += new EventHandler <PhoneNumberResult> chooser.Show(); // Mettre dans un TRY CATCH } // Récupération du résultat public void chooser_Completed(object sender, PhoneNumberResult e) { if (e.TaskResult == TaskResult.OK) { MessageBox.Show(“Numéro de " + e.DisplayName + “: " + e.PhoneNumber); } } Atelier Windows Phone API: Obtenir le numéro d’un contact
  • 12. using Microsoft.Phones.Tasks; // Appel de l’API en asynchrone public void main() { EmailAdressChooserTask chooser = new EmailAdressChooserTask (); chooser.Completed += new EventHandler <EmailResult> chooser.Show(); // Mettre dans un TRY CATCH } // Récupération du résultat public void chooser_Completed(object sender, EmailResult e) { if (e.TaskResult == TaskResult.OK) { MessageBox.Show(“Email de " + e.DisplayName + “: " + e.Email); } } Atelier Windows Phone API: Obtenir l’email d’un contact
  • 13. using Microsoft.Phones.Tasks; PhoneCallTask pct = new PhoneCallTask (); pct.PhoneNumber = « 0102030405 »; pct.DisplayName = « Steve Ballmer »; pct.Show(); Atelier Windows Phone API: Passer un appel
  • 14. using Microsoft.Phones.Tasks; // Appel de l’API en asynchrone public void main() { CameraCaptureTask chooser = new CameraCaptureTask (); chooser.Completed += new EventHandler <PhotoResult> chooser.Show(); // Mettre dans un TRY CATCH } // Récupération du résultat public void chooser_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { monImage.Source = e.ChosenPhoto; } } Atelier Windows Phone API: Accès appareil photo
  • 15. using Microsoft.Phones.Tasks; WebBrowserTask wbt = new WebBrowserTask (); wbt.Uri = new Uri(« http://www.epsilab.net »); wbt.Show(); Atelier Windows Phone API: Lancer une page Web
  • 16. using Microsoft.Phones.Tasks; BingMapsTask bmt = new BingMapsTask (); bmt.SearchTerm = « EPSI Arras, 23-25 rue du dépôt »; bmt.Center = new GeoCoordinate(); bmt.ZoomLevel = 5.0; bmt.Show(); Atelier Windows Phone API: Recherche Bing Maps
  • 17. API: Gérer les connexions du tel using Microsoft.Phones.Tasks; ConnectionSettingsTask cst = new ConnectionSettingsTask (); cst.ConnectionSettingsType = ConnectionSettingsType.Wifi; cst.ConnectionSettingsType = ConnectionSettingsType.Bluetooth; cst.ConnectionSettingsType = ConnectionSettingsType.Cellular; cst.ConnectionSettingsType = ConnectionSettingsType.AirplaneMode; cst.Show(); Atelier Windows Phone
  • 18. Silverlight for Windows Phone Toolkit  Des contrôles en plus, des API en plus  Et tout ça gratuit !  http://silverlight.codeplex.com/ Atelier Windows Phone
  • 19. Test et publication de l’application  Avoir un compte sur le Marketplace  Se faire valider en tant qu’étudiant auprès de Dreamspark www.dreamspark.com  Créer son compte sur l’App Hub developer.windowsphone.com  Test et envoi de l’application  Test avec le Marketplace Kit dans VS2010  Envoi de l’application Atelier Windows Phone