Créer une application alarme pour Windows Phone 7 Mango

Ok, i am ready.

C’est la première fois que je prononce le non Mango sur mon blog et c’est juste que je vais en avoir un (version WP7 et pas fruit). Holala!!! Voyez-vous comment je suis intériste?

On va créer une application alarme pour mon prochain téléphone, un Windows Phone 7 de version Mango.

(tuto dédié à la DPE Microsoft WCA)

Connaître la classe d’alarme

Avant d’aller au fond, voyons d’abord comment explorer la structure de la classe d’alarme et les différentes propriétés de celui-ci.Vous pouvez trouver la classe d’alarme sous le namespace «Microsoft.Phone.Scheduler »  qui hérite de la classe ScheduledNotification. La classe de base d’entre eux est la classe ScheduledAction. Ces deux classes sont présentes dans le même espace.

ScheduledAction se compose de quelques propriétés de base comme « Nom », « BeginTime », « ExpirationTime », « IsEnabled » et « IsScheduled ». IsEnabled et IsScheduled propriétés sont en lecture seule que cela signifie, vous ne pouvez pas changer leurs valeurs de manière explicite « haha j’utilise du bon français là ».

ScheduledNotification hérite de ScheduledAction et expose trois propriétés appelées «Contenu», «RecurrenceType » et « Titre ». La propriété RecurrenceType est un type enum des RecurrenceInterval qui indique si la tâche sera exécutée journalière, hebdomadaire, mensuel ou annuel .

La classe hérite de ScheduledNotification alarme et expose nouvelle propriété appelée « Son ». Comme il est un type d’Uri, vous pouvez définir l’URL du fichier son qui va jouer lorsque l’alarme soulève. Il expose également une autre propriété appelée « Titre » qui remplace la mise en œuvre réelle de la classe de base.

Trouver le schéma de la structure de classe ici. Cela vous donnera beaucoup de visibilité claire.

J’espère que cela vous a donné la compréhension fondamentale de la structure de classe avant de nous relancer sur le code. Maintenant nous allons créer une application petite démo pour vous montrer comment utiliser la fenêtre d’alarme.

Créons d’abord l’interface graphique:

Nous allons faire cette étape aussi simple que possible en ajoutant un TextBox où l’utilisateur peut entrer dans le temps en secondes. La fenêtre d’alarme apparaîtra sur l’écran après que la durée. Nous allons ajouter deux boutons, l’un va lancer l’alarme et l’autre sera le réinitialiser.

<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <StackPanel Orientation="Horizontal" Margin="5" HorizontalAlignment="Center">
        <TextBlock Text="Set Time (Min) : " VerticalAlignment="Center"/>
        <TextBox x:Name="txtTime" Width="150"/>
    </StackPanel>
    <StackPanel Orientation="Horizontal" Margin="5" HorizontalAlignment="Center">
        <Button Content="Set Alarm" Width="200" Height="70" Click="SetAlarm_Click"/>
        <Button Content="Reset Alarm" Width="200" Height="70" Click="ResetAlarm_Click"/>
    </StackPanel>
</StackPanel>

Mettre en œuvre la fonction d’alarme dans le Code

Maintenant, nous allons régler l’heure d’alarme et le contenu du code derrière le clic de la touche «Set Alarm ». Nous allons créer une méthode appelée « CreateAlarm ». Cela va créer l’instance de l’alarme en passant un nom au constructeur. Puis nous allons ajouter d’autres propriétés pour ça « Contenu » et « BeginTime » comme indiqué dans le fragment de code ci-dessous:

Avant d’attaquer le code mettez ces name spaces:

using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Scheduler;
-----------------------------------------------------------------------------------------------------------------------
private static void CreateAlarm(double time)
{
    var alarm = new Alarm("MyAlarm")
                    {
                        Content = "Vous avez une réunion toute de suite avec votre équipe.",
                        BeginTime = DateTime.Now.AddSeconds(time)
                    };

    ScheduledActionService.Add(alarm);
}

private static void ResetAlarm()
{
    ScheduledActionService.Remove("MyAlarm");
}
        private void SetAlarm_Click(object sender, RoutedEventArgs e)
        {
            CreateAlarm(Convert.ToDouble(txtTime.Text));
        }

        private void ResetAlarm_Click(object sender, RoutedEventArgs e)
        {
            ResetAlarm();
        }

C’est le temps de démo maintenant. Construisez votre projet et exécutez l’application dans l’émulateur. Vous verrez l’interface utilisateur de notre application, comme indiqué dans la première capture d’écran. Dans la zone de texte, entrer le temps désiré (en minutes) et cliquez sur «Set Alarm » . Cela va ajouter la tâche au service et après l’intervalle période spécifique éjetera la fenêtre d’alarme sur l’écran avec le bon message que nous avons mis que le contenu.

Juste une information, vous pouvez quitter l’application mais cela ne l’empêchera pas d’exécuter la tâche ;)

About these ads

À propos Ibrahim Khalil
.NET Framework Developer & Microsoft Student Partner

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

Suivre

Recevez les nouvelles publications par mail.

%d blogueurs aiment cette page :