Développer une application       Winows 8 Tiré du blog de Loic Rebours : http://blog.loicrebours.fr                Labo DE...
Lifecycle d’une app METRO   Clément Hallet – clement.hallet@supinfo.com
Introduction•Avant : l’utilisateur ouvre, ferme, … gère•Maintenant : le système gère !•METRO = full screen donc une app à ...
Etats d’une app METRO•RUNNINGApp au premier planSplashScreen compris. Si ce screen prend +15sec, mise en suspension de l’a...
Scénario• L’utilisateur démarre son système et lance l’application Metro  Finance. Celle-ci est dans l’état Running• L’uti...
Let’s code it ! (App.xaml)OnLaunched utilise l’objet LaunchActivatedEventsArgs :RunningTerminatedMais il existe aussi :Clo...
Kind in example• Kind définit la facon dont l’app a été activée :• Où l’application se serait lancée depuis une recherche
La suspension et la repriseLa classe App possède deux évènements :•Suspending (lancé avant que l’app soit suspendue)•Resum...
Car un exemple vaut mieux qu’un long discoursUne app affiche une liste d’éléments dans une ListBox. L’éléséléctionné doit ...
Car un exemple vaut mieux qu’un long discoursDans l’app.xaml : la variable qui sauve l’index de l’élé sauvé :             ...
Car un exemple vaut mieux qu’un long discoursMaintenant on s’occupe de la sauvegarde de cette valeur pour larestaurer plus...
Car un exemple vaut mieux qu’un long discoursMaintenant, on fait en sorte que l’app recharge les données unefois qu’on rep...
Car un exemple vaut mieux qu’un long discoursDernière étape : la sauvegarde de l’itemId !On la récupère lors de la navigat...
Car un exemple vaut mieux qu’un long discoursTad-Ham
Gestion des états VSVotre app en mode débug vous donne accèsà la toolbar debug location. Avec celle-ci, onpeut passer d’un...
avez-vous des questions ?            ?
facebook.com/LaboDevMS@dev_msdevms.org
Développement Windows 8 METRO App part2
Prochain SlideShare
Chargement dans…5
×

Développement Windows 8 METRO App part2

323 vues

Publié le

Tiré de http://blog.loicrebours.fr

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
323
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Développement Windows 8 METRO App part2

  1. 1. Développer une application Winows 8 Tiré du blog de Loic Rebours : http://blog.loicrebours.fr Labo DEV.MS Bruxelles
  2. 2. Lifecycle d’une app METRO Clément Hallet – clement.hallet@supinfo.com
  3. 3. Introduction•Avant : l’utilisateur ouvre, ferme, … gère•Maintenant : le système gère !•METRO = full screen donc une app à la fois (valable uniqument pour les applis METRO et non desktop)
  4. 4. Etats d’une app METRO•RUNNINGApp au premier planSplashScreen compris. Si ce screen prend +15sec, mise en suspension de l’app•SUSPENDEDQuand l’user retourne sur le StartScreen METROL’app a 5sec pour sauver les donnéesSauvegarde l’etat de l’app mais la met de côté en attendant le retour éventuel sur l’app•TERMINATEDSi le device n’a plus assez de mémoire pour maintenir toutes les app en suspendedPAS DE NOTIFICATION DU SYSTEME QUAND L’APP PASSE EN TERMINATED !!!
  5. 5. Scénario• L’utilisateur démarre son système et lance l’application Metro Finance. Celle-ci est dans l’état Running• L’utilisateur retourne ensuite sur le start screen et lance l’application Meteo. Cette dernière occupe désormais le premier plan. Elle est dans l’état Running tandis que l’application Finance passe en Suspended; son exécution est arrêtée.• L’utilisateur retourne sur l’application Finance. Son état est immédiatement restauré car le système le conservait en mémoire. L’application Finance repasse alors dans l’état Running.• L’utilisateur lance de multiples applications. Le système manque de mémoire et passe l’application Finance dans l’état Terminated. Celle-ci n’est plus conservée en mémoire. Son exécution est arrêtée.
  6. 6. Let’s code it ! (App.xaml)OnLaunched utilise l’objet LaunchActivatedEventsArgs :RunningTerminatedMais il existe aussi :ClosedByUser,NotRunning,SuspendedKind
  7. 7. Kind in example• Kind définit la facon dont l’app a été activée :• Où l’application se serait lancée depuis une recherche
  8. 8. La suspension et la repriseLa classe App possède deux évènements :•Suspending (lancé avant que l’app soit suspendue)•Resuming (lancé à la reprise de l’app – pour RAFRAICHIR les données si besoin) Le système restaure les données automatiquement !!!
  9. 9. Car un exemple vaut mieux qu’un long discoursUne app affiche une liste d’éléments dans une ListBox. L’éléséléctionné doit être sauvé.Côté XAML, on crée la ListBox dans un GridLayout avec des ItemCôté C# ()MainPage.xaml.cs :
  10. 10. Car un exemple vaut mieux qu’un long discoursDans l’app.xaml : la variable qui sauve l’index de l’élé sauvé : (Dans app.xaml.cs, juste après la décla de la classe « App » )
  11. 11. Car un exemple vaut mieux qu’un long discoursMaintenant on s’occupe de la sauvegarde de cette valeur pour larestaurer plus tard si l’app passe en TERMINATED :
  12. 12. Car un exemple vaut mieux qu’un long discoursMaintenant, on fait en sorte que l’app recharge les données unefois qu’on repasse à l’état RUNNING ! Donc dans l’OnLaunchedon ajoute :Si on sort de l’état TERMINATED (et si la valeur est bien sauvée), on met encouleur l’item possédant l’id d’item sauvé !
  13. 13. Car un exemple vaut mieux qu’un long discoursDernière étape : la sauvegarde de l’itemId !On la récupère lors de la navigation vers « BlankPage », au seinde la méthode « OnNavigateTo » (MainPage.xaml.cs) :
  14. 14. Car un exemple vaut mieux qu’un long discoursTad-Ham
  15. 15. Gestion des états VSVotre app en mode débug vous donne accèsà la toolbar debug location. Avec celle-ci, onpeut passer d’un état à un autre.
  16. 16. avez-vous des questions ? ?
  17. 17. facebook.com/LaboDevMS@dev_msdevms.org

×