[Windows Phone 8.1] Contacts et Calendrier sous Windows Phone 8.1
Cette Build 2014 nous apporte son lot de nouveautés et c’est tant mieux! On a ainsi la possibilité de jouer avec les nouvelles APIs de Windows (Phone) 8.1 et, parmis celles-ci, on retrouve des APIs pour accéder aux contacts et au calendrier. Voici quelques détails supplémentaires sur ces nouvelles classes.
Accès aux contacts:
Grâce à l’API ContactManager, il devient possible d’accéder aux contacts de l’utilisateur. Ainsi, le code suivant (basique mais efficace) permet de rechercher les contacts en fonction d’une chaîne de caractères:
var store = await Windows.ApplicationModel.Contacts.ContactManager.RequestStoreAsync(); var contacts = await store.FindContactsAsync("thomas");
Après cela, il ne reste plus qu’à parcourir les différents contacts au travers des propriétés mis à notre disposition:
foreach (var contact in contacts) { await new MessageDialog(contact.LastName + " " + contact.FirstName).ShowAsync(); }
Attention, pour que cela fonctionne, n’oubliez pas d’activer la “capability” correspondante dans le manifeste
Accès au calendrier:
Dans le même esprit, il est possible d’accéder aux RDVs de l’utilisateur:
var appStore = await Windows.ApplicationModel.Appointments.AppointmentManager.RequestStoreAsync(AppointmentStoreAccessType.AppCalendarsReadWrite);
Une fois l’accès au Store établit, il ne vous reste plus qu’à la manipuler. Ainsi, il est possible de faire afficher la fenêtre de création d’un RDV (on constate que l’insertion/l’enregisrement du RDV est toujours à la charge de l’utilisateur, pour des raisons de sécurité évidente):
await appStore.ShowAddAppointmentAsync(new Appointment { Subject = "Préparer Démo Windows (Phone) 8.1", Location = "Infinite Square", StartTime = DateTime.Now.AddDays(1), AllDay = true }, new Rect());
En parcourant les différentes APIs proposées, j’ai été très agréablement surpris de voir que beaucoup de méthodes/propriétés étaient similaires à celle sous Windows 8.1: cela montre une réelle convergence vers les 2 plateformes et ça, c’est une bonne nouvelle!
Happy coding! :)
Commentaires