Windows Phone 8 için Pil Durumu uygulaması

Windows Phone 8 için güncel pil durumunu görebileceğimiz bir uygulama geliştireceğiz.

Bu uygulamanın geliştirilmesi sırasında Battery, PhoneApplicationPage, ApplicationBar, TimeSpan gibi yapıları kullandığımız kodlar yazacağız.

Öncelikle BatteryLevel isimli yeni bir Windows Phone App projesi oluşturalım;

Battery Level Windows Phone Application Project

Proje oluşturduktan sonra gelen Windows Phone Platform versiyon seçim penceresinde Windows Phone OS 8.0 seçeneğinin seçili olduğundan emin olmalıyız;

Windows Phone 8.0 SDK

MainPage.xaml dosyasını aşağıdaki gibi güncelleyelim;

<Grid x:Name=”LayoutRoot” Background=”Transparent”> <Grid.RowDefinitions> <RowDefinition Height=”Auto”/> </Grid.RowDefinitions>

&lt;StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"&gt;
    &lt;TextBlock Text="PİL SEVİYESİ" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/&gt;
&lt;/StackPanel&gt;
&lt;TextBlock HorizontalAlignment="Stretch" Margin="0,0,70,-125" TextWrapping="Wrap" Text="- / 100" Name="lblRemainingChargePercent" VerticalAlignment="Bottom" Width="340"/&gt;
&lt;TextBlock HorizontalAlignment="Stretch" Margin="35,0,105,-180" TextWrapping="Wrap" Text="- / 100" Name="lblRemainingDischargeTime" VerticalAlignment="Bottom" Width="340"/&gt; &lt;/Grid&gt;

<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible=”True”> <shell:ApplicationBarIconButton IconUri=”/Assets/appbar.refresh.png” Text=”Güncelle” Click=”RefreshBatteryLabel” /> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar></pre>

İki TextBlock nesnesinde güncel pil durumunu göstereceğiz. Ayrıca eklediğimiz ApplicationBar sayesinde telefonun altında bir güncelleme butonu konumlandırmış olacağız.

ApplicationBar‘a eklediğimiz ApplicationBarIconButton nesnesine basıldığında RefreshBatteryLabel() method’unun tetiklenmesini sağlıyoruz.

MainPage.xaml.cs dosyasına RefreshBatteryLevel() method’unu ekleyelim;

private void RefreshBatteryLabel(object sender, EventArgs e)
{
    Battery Pil = Battery.GetDefault();

    int Yuzde = Pil.RemainingChargePercent;
    int Gun = Pil.RemainingDischargeTime.Days;
    int Saat = Pil.RemainingDischargeTime.Hours;
    int Dakika = Pil.RemainingDischargeTime.Minutes;

    string SarjYuzdesi = string.Format("Kalan pil : {0} / 100", Yuzde);

    string SarjSuresi = "Kalan şarj süresi : ";

    if (Gun > 0)
    {
        SarjSuresi += string.Format("{0} gün ", Gun);
    }
    if (Saat > 0)
    {
        SarjSuresi += string.Format("{0} saat ", Saat);
    }
    if (Dakika > 0)
    {
        SarjSuresi += string.Format("{0} dakika ", Dakika);
    }

    lblRemainingChargePercent.Text = SarjYuzdesi;

    lblRemainingDischargeTime.Text = SarjSuresi;
}

Son olarak, MainPage sınıfının constructor‘ında RefreshBatteryLevel() method’unu çağırırsak, uygulama ilk açıldığında pil seviyesi güncellenmiş olur;

RefreshBatteryLabel(null, null);


Uygulamayı çalıştırdığımızda aşağıdaki ekran görüntüsünü görüyor olmamız lazım;

![Battery Level Windows Phone 8 Application](/assets/uploads/2012/12/BatteryLevel3.png)

Projenin kodlarını buradan indirebilirsiniz.

İlgili diğer makaleler

blog comments powered by Disqus

Engin Polat hakkında

Senior Software Engineer, @Microsoft

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 484

Creative Commons Lisansı