Le Post Infeeny

Les articles des consultants et experts Infeeny

Windows Phone 8: Maps, Location, and Background Execution for Developers retranscrit par John

Dans cette session on parlera des services de localisation API, de contrôles de map et ses services, de trackring de position en background et du fast resume.

Location for WP8

En plus de l’API.NET précédente, l’API Windows Runtime a été ajouté dans WP8 qui enrichi les possibilités de l’API.

Quelques samples de codes ensuite qui nous informent  que l’on doit choisir entre MovementThreshold et ReportInterval sur l’objet Geolocator et on peut utiliser la méthode GetGeopositionAsync (plus on demande de la précision, plus le service de localisation sera long à renvoyer les résultats et il ne aut pas demander d’avoir des résultats trop souvent).

Tips : Utiliser le single location request quand on peut. Utiliser le caching pour des résultats plus rapides et faire un choix entre précision et timeout.

WP8 MapControl utilise la technologie de map de Nokia (plus de pays, cartes vectorielles, paysages 3D et de nouveaux modes d’affichage). Ces données sont disponibles hors ligne et les utilisateurs peuvent les télécharger quand ils veulent. Le contrôle de map est fluide avec moins de lags sur la gestion des différentes couches d’affichage, gère les rotations et le pitch. Il permet aussi de calculer un chemin.

Le service de maps permet de convertir des coordonnées (longitude en adresse et vice-versa, de plus il est capable de calculer de manière précise en chemin/une route.

On a ensuite eu une démonstration de l’utilisation de l’API de cartographie où on voit l’utilisation des credentials nécessaires à l’utilisation de l’API (tokens obtenus sur dev.windowsphone.com). On nous a montré qu’il est possible de lancer directement  la service de routage grâce à une extension d’uri depuis notre application.

Bing Maps Control et Task sont désormais dépréciés.

Ensuite on nous parle de la localisation lorsque l’application tourne en tâche de fond

Location Tracking in Background :

  • Il faut ajouter  <BackgroundExecution> <ExecutionType Name= »LocationTracking » /></BackgroundExecution> dans le manifest
  • Ecoute activement les changements de localisation
  • N’est utilisable qu’avec des applications XAML
  • Une seule application en background trackant la localisation est possible
  • Ressources Management
    • CPU 10% Max
    • L’application a accès à
      • Location
      • Audio\Speech
      • Network
      • Storage

Les utilisateurs peuvent fermer les applications en tâche de fond et de désactiver les fonctionnalités en tâche de fond.

Désactivation des applications

  • L’application tourne tant que
    • L’application arrête de tracker la localisation
    • L’utilisateur désactive les services de localisation
    • 4 heures sans avoir été mise en premier plan
    • Quand le mode de sauvegarde de la batterie
    • Une autre application de localisation passe en tâche de fond
    • Quand la mémoire se fait rare
  • La DeactivationReason est fournie, prévenez les utilisateurs. *** (Est-ce un flag?)

Evènements du cycle de vie de l’application

  • PhoneApplicationService
    • Launching
    • Deactivated
  • RunningInBackground
    • Activated
    • Closed

Ensuite on a quelques rappels sur le cycle de vie de l’application et schémas montrant en quoi l’ajout du tracking en tâche de fond l’impact.

Tips :

  • Utiliser des sons et de toasts avec wisely
  • Informer l’utilisateur quand l’app a été désactivé
  • Stop active timers and animations

Présentation du fast-resume qu’on avait déjà vu lors d’une session précédente. Avec une explication plus détaillé sur ce qu’il se passe lorsqu’on ajoute juste le fast restart sans prendre la peine de gérer la navigation en conséquence. Il faut donc bien faire attention aux évènements de navigation (NavigationMode.Reset, NavigationMode.New, NavigationMode.Refresh). Voir démo.

Une session intéressante et qui détaille très bien ce qu’il se passe lors d’un fast resume. A voir 🙂

John

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :