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